获取简单的输入和渲染窗口(Hello Window)
我们可以使用GLFW的glfwGetKey方法来为我们绘制的窗口获取输入,这个方法返回值表示当前这个按键是否被按下。代码如下: void processInput(GLFWwindow *window) { if(glfwGetKey(window,GLFW_KEY_ESCAPE) == GLFW_PRESS) glfwSetWindowShouldClose(window,true); } 使用GLFW_KEY_ESCAPE表示ESC键位,其中ESCAPE可以被替换为其它键位。当ESC键没有被按下的时候,glfwGetKey的返回值为 GLFW_RELAESE,然后我们使用glfwSetWindowShouldClose方法来关闭我们当前正在渲染的窗口 接着我们在每个渲染循环中调用processInput函数,代码如下: while (!glfwWindowShouldClose(window)) { //Input ProcessInput(window); glfwSwapBuffers(window);//交换缓冲区 glfwPollEvents(); //更新事件 比如窗口的拖拽和移动 } 运行项目,此时我们可以用ESC键来关闭我们渲染的窗口 渲染 首先,我们渲染相关的代码放在渲染循环中,确保每次窗口进行渲染我们的代码都能起作用。除此以外,我们需要在每次渲染之前清空窗口,否则窗口里面将显示上次渲染的内容。这里可以设置一个颜色来清空屏幕,我们可以通过调用glClear函数来清空屏幕的颜色缓冲,它接受一个缓冲位(Buffer Bit)来指定要清空的缓冲,可能的缓冲位有GL_COLOR_BUFFER_BIT,GL_DEPTH_BUFFER_BIT和GL_STENCIL_BUFFER_BIT。 glClearColor(0.5f,0.5f,1.0f); glClear(GL_COLOR_BUFFER_BIT); ? 注意,除了glClear之外,我们还调用了glClearColor来设置清空屏幕所用的颜色。当调用glClear函数,清除颜色缓冲之后,整个颜色缓冲都会被填充为glClearColor里所设置的颜色。在这里,我们将屏幕设置为了类似黑板的深蓝绿色。其中glClearColor为状态设置函数,glClear为状态应用函数。 产生的效果如下:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008 – 如何告诉任务计划程序MMC记住历史记
- 如何用win32 API转换时区?
- windows下python虚拟环境virtualenv安装和使用
- windows – Visual Studio 2008中的“符号浏览器”是什么/哪
- windows-phone-7 – 是否隐藏Windows Phone 7应用程序中的系
- Windows重启时,MSMQueue可以保留其值吗?
- 许可 – 使16位代码在WinXP或Vista中工作(或者如何查找Win9
- 有关Windows NT 4.0的安全问题
- 无法在Windows 10上的MySQL 8.x中设置lower_case_table_nam
- 批量转换Windows / DOS文件到Unix的最佳方法是什么?