OpenGL4.3
文章平均质量分 72
屠变恶龙之人
这个作者很懒,什么都没留下…
展开
-
OpenGL概述
渲染管线 顶点数据 -->顶点着色器 --> 细分控制着色器 --> 细分计算着色器 -->几何着色器 --> 图元设置 --> 剪切 --> 光栅化 --> 片元着色器--> 屏幕显示 注意:细分着色器:(可选)使用patch来描述一个物体的形状,结果是图元数量增加,外观更加平顺 几何着色器:(可选)可创建新的图元(邻接原创 2017-03-14 18:09:39 · 333 阅读 · 0 评论 -
几何着色器
作用 它接受的输入时一系列顶点组成的完整的图元,并且这些输出全是数组的形式。几何着色器不仅能增强多顶点访问属性之外,还可以控制输出数据的数量,也可以产生新的几何体类型。操作 创建: 调用glCreateShader() GL_GEOMETRY_SHADER传入 布局限定符:layout (triangles) in原创 2017-03-15 15:48:15 · 295 阅读 · 0 评论 -
细分着色器
作用 细分着色在opengl管线中有两个着色阶段,用来生成几何图元的模型网格。 1) 顶点着色阶段:设置所有的线段或者三角形来构成处理的模型 2) 细分阶段:指定面片,并设置面片中要生成多少几何数据 细分着色器使用patch来描述一个物体的形状,处理结果是图元数量增加,外观更加平顺。细分面片 所谓的面片就是一个传递给原创 2017-03-15 15:29:50 · 1966 阅读 · 0 评论 -
光照
光照 光照系统分为三部分:光源、材质、光源环境 光照类型:镜面反射、漫反射、高光反射(三种光的反射特性) 光照模型: 环境光(Ambient Light)、 漫射光(Diffuse Light)、镜面光(Specular Light)方向光为例 #version 330 core uniform mat4 MV原创 2017-03-15 14:57:32 · 273 阅读 · 0 评论 -
阴影贴图
步骤: 创建一张带有深度值的纹理; 将此纹理附加到一个帧缓冲区对象上。 (阴影映射技术:使用深度纹理来决定一个点是否明亮)实例: glGenTextures(1, &depth_texture); //创建深度纹理 glBindTexture(GL_T原创 2017-03-15 14:24:02 · 273 阅读 · 0 评论 -
多重纹理
多重纹理顶点着色器 #version 330 core layout (location = 0) in vec2 in_position; layout (location = 1) in vec2 in_tex_coord; out vec2 tex_coord0; out ve原创 2017-03-15 14:08:48 · 316 阅读 · 0 评论 -
纹理
纹理基础 1、载入纹理: tex =vglLoadTexture("media/test.dds", 0, &image); ///载入 glTexParameteri(image.target, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);原创 2017-03-15 13:39:01 · 606 阅读 · 0 评论 -
OpenGL绘制方式
图元点: GL_POINTS线: GL_LINES条带线: GL_LINE_STRIP循环线: GL_LINE_LOOP独立三角形:原创 2017-03-14 21:44:51 · 615 阅读 · 0 评论 -
着色器基础
GLSL基本类型 float: 32位 double: 64位 int: 有符号二进制补码的32位整数 uint:无符号的32位整数 bool: 布尔值存储限制符 const:必须在声明时就初始化,只读类型,编译时常量 in:着色器阶段的输入变量原创 2017-03-14 18:33:11 · 401 阅读 · 0 评论 -
视口、剪切、反馈
齐次坐标 就是将一个原本是n维的向量用一个n+1维的向量来表示,目的是合并矩阵运算中的乘法好加法 点P(4,2)的齐次坐标为(8,4,2)、(4,2,1) //注意二者区别 向量P(1,2,3)的齐次坐标为(1,2,3,0)矩阵变换 vmath::mat4 translate = vmath:原创 2017-03-15 11:57:29 · 601 阅读 · 0 评论 -
颜色、像素、帧缓存
缓存 1)颜色缓存:多重采样技术,动画中采用了双重缓冲技术 深度缓存:每个像素保留一个深度值,可以用来判断3维空间中物体的可见性 模板缓存:限制屏幕特定区域的绘制 2)缓存掩码:glDepthMask(GL_TRUE)则深度缓存可以写入, 此操作在将数据写入颜色、深度或者模板缓存区之前。设置顶点的颜色和位置 v原创 2017-03-15 10:47:12 · 2208 阅读 · 0 评论 -
图像
图像和纹理的主要区别 图像是单一层级的纹理,不支持滤波,不支持深度比较 图像布局限定符 layout () uniform image2D image1; layout () uniform image2D image2; layout (原创 2017-03-15 16:12:58 · 428 阅读 · 0 评论