GL--编程
ouyangshima
找到心中的那份自信
技术不牢,地动山摇
展开
-
[OpenGL]用OpenGL图形的绘制--矩形
/*在窗口的中心位置绘制一个矩形*/#include #include //显示回调函数void RenderScene()//用于在窗口中绘制需要的图形{ glClear(GL_COLOR_BUFFER_BIT);//用当前清除色清除颜色缓冲区,即设置窗口的背景色。一副图像的红,绿,蓝成分通常被并称为颜色缓冲区或像素缓冲区。1.实际清除 glColor3f(1.0f,原创 2014-01-03 01:27:04 · 5570 阅读 · 0 评论 -
[OpenGL]变量类型
OpenGL ES 的渲染管线包含有一个可编程的顶点阶段和一个可编程的片段阶段。其余的阶段则有固定的功能,应用程序对其行为的控制非常有限。每个可编程阶段中编译单元的集合组成了一个着色器。在OpenGL ES 2.0 中,每个着色器只支持一个编译单元。着色程序则是一整套编译好并链接在一起的着色器的集合。着色器 shader 的编写需要使用着色语言 GL Shader Language(GLSL),G...原创 2019-07-19 16:41:05 · 634 阅读 · 0 评论 -
[OpenGL]概念--GLSL语言基础
基本类型除了布尔型,整型,浮点型基本类型外,GLSL还引入了一些在着色器中经常用到的类型作为基本类型。这些基本类型都可以作为结构体内部的类型。void 跟C语言的void类似,表示空类型。作为函数的返回类型,表示这个函数不返回值。bool 布尔类型,可以是true和false,以及可以产生布尔型的表达式。int 整型 代表至少包含16位的有符号的整数。可以是十进制...原创 2010-04-03 20:58:00 · 773 阅读 · 0 评论 -
[OpenGL]概念--渲染管线
在OpenGL中任何事物都在3D空间中,但是屏幕和窗口是一个2D像素阵列,所以OpenGL的大部分工作都是关于如何把3D坐标转变为适应你屏幕的2D像素。3D坐标转为2D坐标的处理过程是由OpenGL的图形渲染管线完成的。图像渲染管线可以被划分为两个主要部分:第一个部分把你的3D坐标转换为2D坐标,第二部分是把2D坐标转变为实际的有颜色的像素。渲染管线接收一组3D坐标,然后把它们转变为你屏幕上的...原创 2018-10-25 12:01:42 · 1174 阅读 · 0 评论 -
[OpenGL]OpenGL概述及VS2010配置OpenGL开发环境
OpenGL概述OpenGL(OpenGraphicsLibrary 开发图形库)是一个跨编程语言、跨平台的三维的计算机图形模型库。OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应用程序无须考虑其运行环境所在平台与操作系统,在任何一个遵循OpenGL标准的环境下都会产生相同的可视效果。OpenGL不是一种编程语言,而是一种API(Appl...原创 2013-08-22 15:08:23 · 2766 阅读 · 0 评论 -
[OpenGL]OpenGL坐标系及坐标转换
OpenGL通过相机模拟、可以实现计算机图形学中最基本的三维变换,即几何变换(模型变换—视图变换(两者合称几何变换))、投影变换、裁剪变换、视口变换等,同时,OpenGL还实现了矩阵堆栈等。理解掌握了有关坐标变换的内容,就算真正走进了精彩地三维世界。坐标系统世界坐标系:在现实世界中,所有的物体都具有三维特征,但计算机本身只能处理数字,显示二维的图形,将三维物体及二维数据联系在一起的唯一纽带原创 2014-05-06 15:53:40 · 8336 阅读 · 0 评论 -
[OpenGL]图元的绘制——空间点/直线;图元整理
glBegin可支持的OpenGL图元模式图元类型GL_POINTS将指定的各个顶点用于创建单个的点GL_LINES将指定顶点用于创建线段。两个顶点指定一条单独的线段。如果顶点个数是奇数,则忽略最后一个GL_LINE_STRIP将指定的顶点用于创建线段。每个顶点之后的每个顶点指定的是线条延伸到的下一个点原创 2014-01-08 01:45:48 · 5514 阅读 · 1 评论 -
[OpenGL]OpenGL库函数汇总
OpenGL函数库相关的API有核心库(gl)、实用库(glu)、辅助库(aux)、实用工具库(glut)、窗口库(glx、agl、wgl)和扩展函数库等。从图可以看出,gl是核心,glu是对gl的部分封装。glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL程序的工具包,比aux功能强大。扩展函数库是硬件厂商为实现硬件更新利用OpenGL的扩展机制开发...原创 2014-05-04 10:29:29 · 13731 阅读 · 1 评论 -
[OpenGL]图形的绘制——多边形面
//常见的平面多面体:平行多面体,球体,圆环,正四面体,三棱锥 //三棱锥的绘制#include //旋转参数static GLfloat xRot=0.0f;static GLfloat yRot=0.0f;bool bDepth =false;//深度测试开关bool bCull = false;//剔除开关//初始化窗口void SetupRC(){ //设原创 2014-01-21 01:00:09 · 5708 阅读 · 0 评论 -
[OpenGL]内置变量和函数
//多边形面的绘制/*1.三角形的绘制在OpenGL中,面是由多边形构成的。三角形可能是最简单的多边形,它有三条边。可以使用GL_TRIANGLES模式通过把三个顶点连接到一起而绘出三角形。使用GL_TRIANGLE_STRIP模式可以绘制几个相连的三角形,系统根据前三个顶点绘制第一个多边形,以后每指定一个顶点,就与构成上一个三角形的后两个顶点绘制形的一个三角形。使用GL_TRIANGL原创 2014-01-17 01:28:40 · 5728 阅读 · 0 评论 -
[OpenGL]用OpenGL制作动画
//在窗口内绘制一个移动的矩形/*我们通常还可以用OpenGL程序创建动画效果,这里我们利用前面的例子,绘制正方形,并使这个正方形在窗口的边框反弹。这里需要创建一个循环,在每次调用显示回调函数之前改变正方形的位置,使其看起来像在窗口中移动。为了不断的显示回调函数,需要GLUT库中的函数:glutTimerFunc(unsigned int msecs,(*func)(int value...原创 2014-01-05 23:09:08 · 8017 阅读 · 1 评论 -
[OpenGL]变量限定符-参数限定符-精度限定符
存储限定符在声明变量时,应根据需要使用存储限定符来修饰,类似 C 语言中的说明符。GLSL 中支持的存储限定符见下表:限定符描述< none: default >局部可读写变量,或者函数的参数const编译时常量,或只读的函数参数attribute由应用程序传输给顶点着色器的逐顶点的数据uniform在图元处理过程中其值保持不变,由应用...原创 2019-07-19 16:46:55 · 1310 阅读 · 0 评论