随笔分类 -  图形编程技术

摘要:矩阵是列优先顺序 阅读全文
posted @ 2020-06-26 16:12 流星曳尾 阅读(356) 评论(0) 推荐(0)
摘要:GLSL是强类型语言;必须进行显式的强制类型转换,不存在隐式的类型转换 int b = int(2.0); int a = 2; float c = float(a); vec类型的初始化与赋值 vec2 a = vec2(1.0,2.0); vec2 b = vec2(3.0,4.0); vec4 阅读全文
posted @ 2020-06-26 15:35 流星曳尾 阅读(1652) 评论(0) 推荐(0)
摘要:Vertex shader 顶点着色器 Fragment shader 片元着色器(在Direct3D中被称为Pixel shader 像素着色器) Shader语言 GLSL Graphics Library Shading Lauguage OpenGL委员会维护,面向OpenGL 阅读全文
posted @ 2020-06-26 11:02 流星曳尾 阅读(391) 评论(0) 推荐(0)
摘要:1、创建纹理对象,并为它装载一个纹理 2、确定纹理如何应用到每个像素上 3、启用纹理贴图功能 4、绘制场景,提供纹理坐标和几何图形坐标 阅读全文
posted @ 2020-06-23 17:28 流星曳尾 阅读(495) 评论(0) 推荐(0)
摘要:绘制物体时,对物体表面采样点的位置作微小扰动,产生凹凸不平的细节效果 (物体表面的每一个点P(u,v),都沿改点处的法向量方向位移F(u,v)个单位长度。位移函数F(u,v)可以记录在一幅纹理中) 阅读全文
posted @ 2020-06-23 14:45 流星曳尾 阅读(625) 评论(0) 推荐(0)
摘要:用纹理去改变物体光照模型计算中的法向(物体表面的几何法向保持不变) Bump map的三种记录方法 Offset map (不直观。用得少) Height-field map (用白与黑表示高度) Normal map (用RGB表示法向的XYZ) Bump map的缺陷 越接近侧影轮廓线越没有凹凸 阅读全文
posted @ 2020-06-23 13:50 流星曳尾 阅读(732) 评论(0) 推荐(0)
摘要:Diffuse reflection 漫反射 Specular reflection 镜面反射 Ambient light 环境光 阅读全文
posted @ 2020-06-18 11:16 流星曳尾 阅读(409) 评论(0) 推荐(0)
摘要:渲染的两个方法 逐像素绘制(从观察者发射射线到像素上,延伸到物体处,根据物体颜色得出像素颜色(又名光线追踪)) 逐面片绘制(由组成模型的面片投影到像素上,根据面片颜色得出像素颜色)。(多用逐面片绘制) 逐面片绘制的过程又名图形流水线 阅读全文
posted @ 2020-06-14 14:06 流星曳尾 阅读(285) 评论(0) 推荐(0)
摘要:如题 阅读全文
posted @ 2020-06-14 13:55 流星曳尾 阅读(131) 评论(0) 推荐(0)
摘要:如题 阅读全文
posted @ 2020-06-14 11:14 流星曳尾 阅读(152) 评论(0) 推荐(0)
摘要:应用程序<->OpenGL<->图形显卡驱动 阅读全文
posted @ 2020-06-14 10:44 流星曳尾 阅读(308) 评论(0) 推荐(0)
摘要:基础图形库 OpenGL,Direct3D 辅助OpenGL开发的工具库 freeglut,glfw 提供了管理窗口的功能 加入了键盘、鼠标等的交互接口 可能还提供了右键菜单等交互功能 提供了一些“高级”建模函数(如glutSolidTeaot()) 辅助调用OpenGL扩展功能 glew,glad 阅读全文
posted @ 2020-06-14 10:17 流星曳尾 阅读(280) 评论(0) 推荐(0)
摘要:建模、动画、渲染 渲染: 将三维场景画在屏幕上 即根据三维模型,计算屏幕窗口中每个像素点的颜色。像素点颜色与光照、环境以及物体材质等因素有关 阅读全文
posted @ 2020-06-13 21:39 流星曳尾 阅读(139) 评论(0) 推荐(0)
摘要:OpenGL Library(核心库) 前缀:"gl" gl.h,openGL32.lib,openGL32.dll OpenGL utility library(实用程序库) 前缀:"glu" glu.h,glu.lib,glu.dll 注:OpenGL的核心库和实用库接口是跨平台的 阅读全文
posted @ 2020-06-13 20:32 流星曳尾 阅读(345) 评论(0) 推荐(0)
摘要:是为了跨平台。(例:在不同机器上,int型可能是32位也有可能是64位,但GLint都是32位的。) 阅读全文
posted @ 2020-06-13 20:01 流星曳尾 阅读(223) 评论(0) 推荐(0)