1、使用glDrawArraysInstanced与glDrawElementsInstanced这类的函数使用gl_InstanceID进行不同变化的实例化,实质上是使用一批顶点数据执行多次整个渲染管线,如果启用细分可能给GPU增加潜在(为啥是潜在?不是直接的吗,还有啥东东没有get到)负担。几何 ...
分类:
其他好文 时间:
2020-03-09 13:45:51
阅读次数:
42
1、细分着色器(Tessellation shader)有两个阶段来生成几何图元的模型网格。 1)在顶点着色阶段,需要设置所有线段、三角形构成处理的网格,使用有序顶点列表生成新的目标图元,。 2)将新生成的图元顶点放置到指定的位置上后进入下一阶段。 2、tessellation shader 处理一 ...
分类:
其他好文 时间:
2020-03-06 17:18:42
阅读次数:
86
1、帧缓冲对象 帧缓冲对象对于离屏渲染、纹理贴图更新、缓存乒乓技术(buffer ping-pongqing,GPGPU的一种数据传输方式)的实现意义非凡,它减少了大量的数据拷贝工作。 建立帧缓冲需要负责建立帧缓冲使用的其它缓冲内容,也就是说,新建的帧缓冲只是一个空壳,具体的渲染缓冲对象被称之为帧缓 ...
分类:
其他好文 时间:
2020-02-24 18:18:54
阅读次数:
77
1、OpenGL使用的是RGB颜色空间,例如三个颜色分量各占8位,那么就说这个颜色值色深24,能够表示2^24中颜色。 2、多重采样是基于采样的抗锯齿技术,有OGAA(ordered grid anti-sliasing)、SGAA(sparse grid anti-aliasing)、MSAA(m ...
分类:
其他好文 时间:
2020-02-24 00:33:17
阅读次数:
83
VC++2010是一个成熟稳定的版本,微软的编译工具Visual Studio系列从VC6到如今的VC2019,功能非常强大,我们在开始学习C++和计算机图形学的时候,一般入手<<C++Primer>><<OpenGL编程指南>>一般例子并不会详细讲解开发环境,这是因为C++和C语言还有OpenGL ...
分类:
编程语言 时间:
2019-10-14 01:15:45
阅读次数:
114
一直想学习一下OpenGL,买了红宝书第8版,却因为工作原因一直没有时间看,最近利用周末尝试了一下配置开发环境,遇到了一些坑点,现在记录下来备用。 第一步:打开Visual Studio 2017,建立一个空的C++工程 第二步:新建triangles.cpp文件,并写入书本例子中的代码 第三步:插 ...
分类:
其他好文 时间:
2018-11-11 12:52:02
阅读次数:
175
第一节:学习动机,即为什么要学习计算机图形学 第二节:课程纲要和课程安排,即简要的概述这门课程讲述了什么内容,课程的主线是什么 第三节:讲述图形学的历史 第二讲(数学基础): 第一节:向量与点乘 推荐书籍:OPENGL红宝书《OpenGL编程指南》、OPENGL橙宝书《OpenGL着色语言》 从向量 ...
分类:
其他好文 时间:
2018-09-11 22:56:20
阅读次数:
248
大概一个月前开始学习OpenGL,在网上找了很多OpenGL学习资料,大都看得一头雾水,什么管线、着色器、变换矩阵、视窗、视口等等概念完全不懂啊。 然后去看了计算机图形学,算是对图形学有了一个基本的认识。很多人会推荐《OpenGL编程指南》和《OpenGL超级宝典》,俗称的红宝书和蓝宝书,但我感觉对 ...
分类:
其他好文 时间:
2018-06-18 11:02:19
阅读次数:
158
最近去图书馆借了一本书《OpenGL编程指南(原书第八版)》,今天倒腾了一天才把第一个例子运行出来。 所以,给大家分享一下,希望能快速解决配置问题。 一、下载需要的库文件 首先,我们需要去该书的网站中下载相关的配置文件,书中给的是“红宝书”的官方网址:http://www.opengl-redboo ...
分类:
其他好文 时间:
2018-04-07 01:06:04
阅读次数:
249
解决办法一、 #if defined(_WIN32) # ifndef GLUT_BUILDING_LIBextern _CRTIMP void __cdecl exit(int); 上面是glut.h中对exit的使用,意思是如果没有定义宏?GLUT_BUILDING_LIB,就使用它的exit, ...
分类:
其他好文 时间:
2018-02-14 23:17:22
阅读次数:
788