
OpenGL
one or only
这个作者很懒,什么都没留下…
展开
-
【学习OpenGL】(四)——3D空间中的三角形
1. 三角形GL_TRIANGLES图元通过连接三个顶点绘制三角形,得到如图所示的三角形glBegin(GL_TRIANGLES); glVertex2f(0.0f,0.0f); // v0 glVertex2f(25.0f,25.0f); // v1 glVertex2f(50.0f,0.0f); // v2 glVertex2f(-50.0f,0.0f)原创 2018-02-21 22:12:51 · 1499 阅读 · 0 评论 -
【学习OpenGL】(一)——创建窗口的基本原理
第一个程序#include <GL/glut.h>// 绘制场景void RenderSecene(void){ // 用当前清除颜色清除窗口 glClear(GL_COLOR_BUFFER_BIT); // 刷新绘图命令 glFlush();}// 设置渲染状态void SetupRC(void){ glClearC...原创 2018-02-05 22:06:21 · 1098 阅读 · 0 评论 -
【学习OpenGL】(三)——3D空间中的点与线
一.3D空间中的点#include <gl/glut.h>#include <math.h>#define GL_PI 3.1415fstatic GLfloat xRot = 0.0f;static GLfloat yRot = 0.0f;void RenderScene(void){ GLfloat x, y, z, angle; //...原创 2018-02-10 00:29:45 · 2077 阅读 · 0 评论 -
【学习OpenGL】(二)——绘制矩形(视口与裁剪区)
绘制矩形在前面第一个创建窗口的程序的基础之上,添加绘制矩形的函数#include <gl/glut.h>void RenderScene(void){ // 用当前的清除颜色清除窗口 glClear(GL_COLOR_BUFFER_BIT); // 把绘图颜色设置为红色 // R G B glColo...原创 2018-02-07 15:42:54 · 1636 阅读 · 0 评论 -
【学习OpenGL】(五)——隐藏表面消除(深度测试)
深度测试是一种有效的用于隐藏表面消除的技巧,OpenGL提供了一些函数,允许在幕后完成这个任务。它的概念非常简单:当一个像素被绘制时,它将被设置一个值(称为Z值),以表示它和观察者之间的距离。以后,当这个屏幕需要绘制另一个像素时,新像素的值就会与原先已经存在的那个像素进行比较。如果新像素的Z值更高,它就更靠近观察者,因此位于以前那个像素的前面。如果新像素的Z值更低,则它必须位于原先那个像素的后面,而原创 2018-02-24 15:00:59 · 2291 阅读 · 0 评论 -
【学习OpenGL】(六)——图形变换
1.理解变换1.1 视觉坐标视觉坐标是根据观察者的角度而言的,与可能发生的变换无关。我们可以把它看做是“绝对的”屏幕坐标。因此,视觉坐标表示一种虚拟的固定坐标系统,常常作为一种参考系使用,x和y的正方向分别是向右和向上,z的正方向从原点朝向用户。1.2 视图变换在默认情况下,在透视投影中,观察者是从原点向z轴的负方向看过去(垂直“穿入屏幕”)。这个观察点相对于视觉坐标系统进行移动。以提供一个特定的拍原创 2018-02-24 22:58:44 · 1352 阅读 · 0 评论