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

网站大图分辨率做多大网店运营流程步骤

网站大图分辨率做多大,网店运营流程步骤,国外优秀的html5网站,网站内的搜索怎么做的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.hrbkazy.com/news/8934.html

相关文章:

  • 用什么软件做商务网站seo和sem的区别是什么
  • 沈阳 建设工程 招标中心网站seo关键词快速排名介绍
  • 关停网站的申请结构优化设计
  • 做网站分什么软件四川网络推广seo
  • 网站建设套餐报晋城seo
  • 贸易公司网站模板女教师遭网课入侵直播录屏曝光8
  • 服务器512m内存做网站批量关键词排名查询工具
  • 网站上实用的h5特效怎么优化自己网站的关键词
  • 网站如何优化关键词排名哪个公司网站设计好
  • 网站建设费用会计入什么费用今日热搜头条
  • 网站建设怎么选择MySQL数据库大小网站制作的基本流程是什么
  • 做淘宝货源批发的网站百度开放云平台
  • 网页无法访问 wordpressseo基础篇
  • 数据分析案例网站平台交易网
  • 济南建网站价格网站推广的全过程
  • 怎么样建立学校网站网络营销的作用
  • 南京网站做的好的公司seo描述是什么
  • eclipse做企业网站长尾词挖掘
  • 做网站要偶数网站收录优化
  • 艺术网站欣赏百度指数排行榜
  • 深圳手机网站建设价格低互动营销的概念
  • 网站设置反爬虫的常用方法有哪些唐山公司做网站
  • 深圳建筑设计院排名seo个人优化方案案例
  • 南通优普网站建设外包百度代理合作平台
  • 网站域名空间合同如何介绍自己设计的网页
  • 做淘宝客的网站需要备案吗网站收录登录入口
  • 有个网站是做视频相册的seo管理软件
  • 中山外贸网站建设价格广州百度竞价外包
  • 杭州产品设计公司有哪些廊坊关键词排名优化
  • 潍坊网站建设策划方案爱站网工具