当前位置: 首页 > news >正文

搬瓦工做网站方法百度seo怎么关闭

搬瓦工做网站方法,百度seo怎么关闭,公司网站 模板,怎么做简单的网站9.2 OpenGL调用窗口,方向键和鼠标 9.2.1 opengl调用窗口 OpenGL调用窗口步骤: 第一步:初始化 GLFW,初始化OpenGL,初始化窗口,初始化上下文 第二步:设置窗口大小和位置,设置输入输出 第三步…
9.2 OpenGL调用窗口,方向键和鼠标
9.2.1 opengl调用窗口

OpenGL调用窗口步骤:

第一步:初始化 GLFW,初始化OpenGL,初始化窗口,初始化上下文

第二步:设置窗口大小和位置,设置输入输出

第三步:循环渲染

第四步:终止

示例代码:

#include <glew.h>
#include <glfw3.h>
#include <iostream>void processInput(GLFWwindow* window)
{if(glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)glfwSetWindowShouldClose(window, true);
}int main()
{//第一步:初始化glfw,glfwInit();//初始化glfw//glfwWindowHint初始化glfw的版本glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);//主版本glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);//次版本glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);//配置glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);//mac上使用//初始化窗口GLFWwindow* window = glfwCreateWindow(800, 600, "learnOpenGL", NULL, NULL);if (window == NULL){std::cout << "Failed to create GLFW window" << std::endl;glfwTerminate();return -1;}//初始化上下文glfwMakeContextCurrent(window); //将主线程设置为当前渲染环境//Init GLEWglewExperimental = true;if(glewInit() != GLEW_OK){printf("Init GLEW failed.");glfwTerminate();return -1;}//第二步:设置窗口大小和位置glViewport(0, 0, 800, 600);//前两个参数窗口左下角的位置。后两个渲染窗口的宽度和高度while (!glfwWindowShouldClose(window)){processInput(window); ///设置输入输出glClearColor(0.2f, 0.3f, 0.3f, 1.0f);//前面三个参数是RGB,后面一个参数是透明度glClear(GL_COLOR_BUFFER_BIT);glfwSwapBuffers(window);//函数在每次循环迭代开始时检查 GLFW 是否已被指示关闭glfwPollEvents();//函数检查是否触发了任何事件}glfwTerminate();//第四步:清理return 0;
}
9.2.2 opengl 调用方向键

调用方向键主要是考虑按键和移动速度,修改的办法是在上面调用窗口的设置函数processInput上进行修改;

void processInput(GLFWwindow *window)
{...const float cameraSpeed = 0.05f; // adjust accordinglyif (glfwGetKey(window, GLFW_KEY_W) == GLFW_PRESS)//按下W键cameraPos += cameraSpeed * cameraFront;//cameraFront相机超向if (glfwGetKey(window, GLFW_KEY_S) == GLFW_PRESS)//按下S键cameraPos -= cameraSpeed * cameraFront;if (glfwGetKey(window, GLFW_KEY_A) == GLFW_PRESS)//按下A键cameraPos -= glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed;if (glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS)//按下D键cameraPos += glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed;
}
9.2.3 opengl调用鼠标

OpenGL 调用鼠标主要考虑鼠标的移动和缩放,主要是使用下面3个函数:

glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED); //隐藏并捕获光标
void mouse_callback(GLFWwindow* window, double xpos, double ypos);//监听鼠标移动事件xpos和ypos代表当前鼠标位置
glfwSetCursorPosCallback(window, mouse_callback)

计算鼠标光标步骤:

  1. 计算鼠标自上一帧以来的偏移量。
  2. 将偏移值添加到相机的偏航和俯仰值中。
  3. 为最小/最大音高值添加一些约束。
  4. 计算方向向量。

代码:

void mouse_callback(GLFWwindow* window, double xpos, double ypos)
{if (firstMouse)// initially set to true,保证初次使用不会大幅度跳跃{lastX = xpos;lastY = ypos;firstMouse = false;}float xoffset = xpos - lastX;float yoffset = lastY - ypos; lastX = xpos;lastY = ypos;float sensitivity = 0.1f; //乘以灵敏度值,降低鼠标移动太剧烈xoffset *= sensitivity;yoffset *= sensitivity;yaw   += xoffset;//偏移值加入俯仰pitch += yoffset;//偏移值加入偏航if(pitch > 89.0f)///加入约束pitch = 89.0f;if(pitch < -89.0f)pitch = -89.0f;glm::vec3 direction;//计算实际方向向量direction.x = cos(glm::radians(yaw)) * cos(glm::radians(pitch));direction.y = sin(glm::radians(pitch));direction.z = sin(glm::radians(yaw)) * cos(glm::radians(pitch));cameraFront = glm::normalize(direction);
}  

(2)鼠标缩放

void scroll_callback(GLFWwindow* window, double xoffset, double yoffset)
{fov -= (float)yoffset;if (fov < 1.0f)fov = 1.0f;if (fov > 45.0f)fov = 45.0f; 
}projection = glm::perspective(glm::radians(fov), 800.0f / 600.0f, 0.1f, 100.0f);  
glfwSetScrollCallback(window, scroll_callback); 
http://www.tj-hxxt.cn/news/65715.html

相关文章:

  • 城阳做网站找哪家好武汉seo关键字推广
  • ssh可以做wap网站么公司seo排名优化
  • 湖南网站建设的公司郑州seo推广
  • 做ppt模版的网站青岛关键词排名系统
  • 简单小网站app推广方案
  • 如何能去医疗网站做编辑重庆搜索排名提升
  • 做网页的it网站新媒体营销案例
  • 中国城乡住房和建设部网站南京seo按天计费
  • 在线注册seo关键词是什么意思
  • wordpress限制次数淘宝seo培训
  • 网站开发区书籍网络营销工具平台
  • 出口手工艺品网站建设方案建设网站
  • 公司网站建设情况说明书网络怎么推广自己的产品
  • 渭南网站建设竞价排名名词解释
  • 武汉市网站制作公司seo对网站优化
  • 芜湖市网站建设宁波seo高级方法
  • 青岛有哪些做网站的公司百度自动点击器下载
  • 那个网站效果图做的好苏州seo服务
  • logo免费设计软件绍兴seo优化
  • 建设工程消防网站石家庄手机端seo
  • 大连大型网站制作公司电子商务网站推广策略
  • 长沙做网站的价格网站推广方法
  • wordpress建站怎么学佛山网站搜索排名
  • 学做网站开发吗阿里巴巴logo
  • 上海网站关键词优化服务外贸营销网站制作公司
  • 购买一级域名做网站宁波网络推广方式
  • 企业网站建设备案都需要什么百度广告怎么收费
  • qq网站在线客服代码南通seo
  • 网站建设公司怎么做的注册推广
  • zeronet网站开发种子资源地址