OpenGL-关于创建窗口的解释
我们首先需要明白,OpenGL这个玩意只管一件事,就是画图,除了画图之外这玩意什么都不管。包括创建窗口,事件响应,甚至包括图像的旋转和平移什么的都不会去管,他只会画图。 那么问题就来了,我们Hello world里面的窗口是哪里来的呢?
我们首先需要明白,OpenGL这个玩意只管一件事,就是画图,除了画图之外这玩意什么都不管。包括创建窗口,事件响应,甚至包括图像的旋转和平移什么的都不会去管,他只会画图。 那么问题就来了,我们Hello world里面的窗口是哪里来的呢?
我在看教程的时候很迷,不知道VBO和VAO有什么用,为什么搞得那么复杂,我这里就来详细的说一下他们两个的工作。
SDL2里面专门有SDL_mouse.h头文件给出了鼠标和光标的操作。
关于光标的操作 SDL2里面提供了很多关于光标的操作,包括创建光标,显示光标等。
窗体是通过事件驱动的。掌握了事件就可以掌握窗体等的行动。SDL2的事件结构体为SDL_Event.
SDL_Rect和SDL_Point都是SDL中用于表示几何图像的基本元素。让我们来深入了解一下这两个结构体吧。
SDL不仅是用来写游戏的,其实他的官方网站给他的定义是游戏和GUI界面,也就是说它其实就是一个实现图形用户界面的库。那么肯定可以有多窗口啦。 其实多窗口实现的方式很简单:你只要定义多个窗口,然后每个窗口再给一个Renderer就可以了。然后在循环的时候再调用各自的Renderer函数就可以了。
时间控制函数在SDL_timer.h中
SDL2提供了平台系统检测和CPU信息检测
平台检测 平台检测只有一个函数,包含在SDL_platform.h文件中:
获取电量的函数只有一个:
| |
SDL_PowerState是一个枚举常量,取值如下:
其中参数secs表示电量还可以运作多长时间,pct表示还有百分之多少的电量。函数通过这两个参数返回信息。
除了事件里面可以处理按键,SDL2还专门提供了SDL_keyboard.h, SDL_keycode.h, SDL_scancode.h三个文件来对按键进行操作。