opengl
fztfztfzt
这个作者很懒,什么都没留下…
展开
-
OpenGL 图形流水线
原文网址:http://blog.csdn.net/racehorse/article/details/6593719这是一些列来自lighthouse3d的GLSL教程,非常适合入门。我将边学习边翻译该教程的内容,同时记录在这里,方便以后查询。流水线概述下图描述了一个简化的图形处理流水线,虽然简略但仍然可以展示着色器编程(shader programming)的一些重要概念。转载 2015-03-25 21:07:12 · 664 阅读 · 0 评论 -
GLSL内置函数(便于查找)
float radians (float degrees)vec2 radians (vec2 degrees)vec3 radians (vec3 degrees)vec4 radians (vec4 degrees)将degrees转换为弧度并返回结果,result=PI/180*degrees 将radians转换为角度并返回结果,result=180/翻译 2015-04-21 21:33:40 · 5747 阅读 · 0 评论 -
GLSL shader中光照的计算
顶点shader代码:float LightIntensity;//光照属性void main(){ vec3 ecPosition = vec3(gl_ModelViewMatrix * gl_Vertex);//将物体进行模型视图中的一些变换(旋转 缩放 平移) vec3 tnorm = normalize(gl_NormalMatrix * gl_Norma原创 2015-05-05 14:46:42 · 702 阅读 · 0 评论 -
GLSL基础
1.数据类型 三种基本类型:float int bool,以及由这些数据类型组成的数组和结构体。GLSL并不支持指针 向量和矩阵也作为基本数据类型,向量类型包括由上述三种基本数据类型构成的是二维 三维 四维的向量,矩阵类型包括浮点型的2*2 3*3 4*4 的方阵。比如浮点型三维向量为vec3,整形四维向量为ivec4,3*3的矩阵为mat3。向量可以使用x,y,z,w赋值 例:vec3 v;原创 2015-03-25 21:04:39 · 909 阅读 · 0 评论 -
OPENGL 和 shader的流程
加入着色器:绘制过程流程图着色器功能:对片元着色器的主要输入的插值得到的易变变量,他们是栅格化的节结果原创 2015-04-14 13:32:18 · 389 阅读 · 0 评论 -
深度缓存 3d效果
glEnable(GL_DEPTH_TEST) 开启深度缓存glDisable(GL_DEPTH_TEST) 关闭深度缓存使用深度缓存前的初始化,不重置投影和模型观察矩阵会导致一些显示错误glMatrixMode(GL_PROJECTION); // 选择投影矩阵glLoadIdentity(); // 重置投影矩原创 2015-03-23 15:27:08 · 433 阅读 · 0 评论 -
混合
void glBlendFunc(GLenum sfactor, GLenum dfactor);所有代码 按键B切换是否混合 上键调整混合模式 左右键调整原RGB透明度#include <Windows.h>#include <gl\GL.h>#include <gl\GLU.h>#pragma comment(lib,"opengl32.lib")//opengl相关库#pragma原创 2015-03-23 10:53:36 · 296 阅读 · 0 评论 -
纹理 2D
只使用了2d的纹理,纹理贴图就是将一张图片贴到物体的表面 相关函数:glEnable(GL_TEXTURE_2D);//开启2D纹理glBindTexture(GL_TEXTURE_2D, textures[0]);//绑定纹理,将绘制的纹理glTexImage2D(GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE,原创 2015-03-23 14:31:17 · 555 阅读 · 0 评论 -
opengl win32窗口的建立
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-03-22 22:17:54 · 864 阅读 · 0 评论 -
GLSL语言内置变量
转载自http://blog.csdn.net/mike_zw/article/details/5971044GLSL语言内置的变量,包括内置的顶点属性(attribute)、一致变量(uniform)、易变变量(varying)以及常量(const),一方面加深印象,另一方面今天的文章可以为以后的编程做查询之用。顶点属性——指顶点的信息,OpenGL据此绘制各个图元,对于传统的顶转载 2015-03-27 09:02:02 · 370 阅读 · 0 评论 -
GLSL 创建自己的着色器
这里讨论如何将类似于上一节的流经着色器编译和链接到OpenGL的程序中去 为了方便编译和修改,着色器程序都写在单独的文本文件中。 1.首先建立一个着色器对象,使用函数glCreateShader():GLuint glCreateShader(GLenum type)/*type指代着色器类型,GL_VERTEX_SHADER顶点着色器,GL_FRAGMENT_SHADER片段着色器*///原创 2015-03-26 18:11:57 · 773 阅读 · 0 评论