获取简单的输入和渲染窗口(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, 0.5f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);
注意,除了glClear之外,我们还调用了glClearColor来设置清空屏幕所用的颜色。当调用glClear函数,清除颜色缓冲之后,整个颜色缓冲都会被填充为glClearColor里所设置的颜色。在这里,我们将屏幕设置为了类似黑板的深蓝绿色。其中glClearColor为状态设置函数,glClear为状态应用函数。
产生的效果如下:
转载于:https://www.cnblogs.com/llllllvty/p/10189851.html
获取简单的输入和渲染窗口(Hello Window)相关推荐
- Android获取软键盘输入内容
该功能的实现是通过Android辅助功能来进行实现的, 先上效果图: 下面说一下如何使用Acc ...
- html判断用户名的合法性,javascript简单判断输入内容是否合法的方法
本文实例讲述了javascript简单判断输入内容是否合法的方法.分享给大家供大家参考,具体如下: 关于检测用户输入的内容是否有非法的字符检测实现思路 1.定义合法的字符串(源字符串) 2.获取用户输 ...
- 如何获取Java用户输入?
本文翻译自:How can I get the user input in Java? I attempted to create a calculator, but I can not get it ...
- UE4 输入系统详解一、 UE4如何获取win系统输入消息
UE4 输入系统详解一. UE4如何获取win系统输入消息 UE4版本:4.253 按键输入 1.当我们按下键盘时输入时,FEngineLoop::Tick()里的每个tick执行的PumpMessa ...
- 【杂记】(input获取焦点失去焦点、获取input中输入的值、 键盘事件、js事件、Math 属性、手机自适应meta定义、 去掉input内置阴影、图片居中、去蓝色默认背景、点击去掉默认边框)
1. input获取焦点失去焦点 input:focus{border:1px red solid:} 获取焦点 .focus()失去焦点.blur() 2. 获取input中输入的值 <inp ...
- Python中如何获取用户的输入,你一定要知道,学Python必看
文章目录 欢迎关注公众号[Python开发实战],免费领取Python.PyCharm安装教程和Python学习电子书! 输入函数input 处理input输入内容 欢迎关注公众号[Python开发实 ...
- VTK:多重渲染窗口用法实战
VTK:多重渲染窗口用法实战 程序输出 程序完整源代码 程序输出 程序完整源代码 #include <vtkActor.h> #include <vtkCallbackCommand ...
- 无法渲染窗口发黄_基础c4d教程:OC渲染器的立体光照
一.效果图 昨天才把C4DR19安装好,之前安装一直在说无法找到系统的什么dll,后面查了好多方法终于弄好了,今天我也是第一次使用OC渲染,所以可能调节就没有那么好,大家一起进步吧! 二.教程 1. ...
- c# 获取键盘的输入
Console 类公开了三个方法获取键盘的输入,分别是Read .Readkey.ReadLine Read方法: 每次只能读入一个字符,如果没有字符可以读,返回-1,Read方法是不会马上读取的,读 ...
- Get Window Titles关键字——获取当前已经打开的浏览器窗口的所有Title
Get Window Titles关键字:获取当前已经打开的浏览器窗口的所有Title:该关键字不需要任何参数 ============================================ ...
最新文章
- php post请求后端拿不到值_[精选] uniapp实现多端开发,与PHP是如何结合的
- 【Python基础】Python十大文件骚操作!!
- webstorm设置文件类型
- HTML左侧下拉列表,HTML中的下拉列表 select
- (转)OL2中设置鼠标的样式
- idea安装2019
- dram和nand哪个难生产_终于有人说清楚了什么是DRAM、什么是NAND Flash
- LitePal简单用法
- C语言_字符串转数字
- 人脸生成黑科技:实现人脸转变特效,让人脸自动戴墨镜
- 网络与信息安全应急处置预案
- AutoCAD启动缓慢
- T32 simulator
- 3G、4G移动数据网络业务流程
- anaconda linux环境变量,配置anaconda环境(linux)
- 网站都变成灰色的了,代码是怎么实现的呢?
- 树莓派串口通信编码_树莓派3B 串口通信超详细
- 虚拟机 服务器 断电,意外断电自动启动服务器和虚拟机的教程
- 强联通分量与双连通分量
- 安装【银河麒麟V10】linux系统
热门文章
- 端午节那晚,见了个小学时的同学!
- 新Attention | NAM,一种新的注意力计算方式,无需额外的参数
- 【超级综述】BERT、GPT-3们有了新名字:Percy Liang、李飞飞等发布200多页综述,阐述大模型机遇与风险...
- 【招聘】浙江大学杨杰课题组-博士后招聘-医学人工智能
- 关系抽取之远程监督算法:别再跟我提知识图谱(上篇)
- 【ESIM】论文阅读笔记:文本蕴含之ESIM
- 机器学习面试-Libsvm
- 【每日算法Day 65】你能顺利救出地下城里的公主吗?
- python——extend用新序列扩展其他列表
- 深度学习2.0-42.Auto-Encoders-无监督学习