上一页 1 2 3 4 5 6 7 ··· 33 下一页
摘要:CUDA可以认为是一个由软件和硬件构成的并行计算系统,其依赖于GPU的并行计算单元,CUDA有类C的API,方便程序编写。其依赖于CPU和GPU的异构体系,通过在CPU上串行执行环境初始化、内存分配、数据传输,然后在GPU上执行并行计算。 内存分配 1、一维 参数1:显存中开辟的空间的指针(术语:G 阅读全文
posted @ 2019-09-11 14:38 茶飘香~ 阅读(378) 评论(0) 推荐(0) 编辑
摘要:示例: 阅读全文
posted @ 2019-09-07 15:39 茶飘香~ 阅读(73) 评论(0) 推荐(0) 编辑
摘要:实例化渲染适用于使用同一个模型渲染多次的情景,比如草地,一堆岩石等。 1、先看一个渲染方形100次的例子: 其顶点着色器会有少许适应实例化渲染的变化 可以看到着色器中传入了100个偏移向量。顶点着色器中内置了一个变量gl_InstanceID,此变量表示当前绘制的实例编号(从0开始)。那么我们可以用 阅读全文
posted @ 2019-09-06 15:09 茶飘香~ 阅读(231) 评论(0) 推荐(0) 编辑
摘要:一般我们只使用了顶点和片段着色器,这也是基本和必须的两个着色器,而几何着色器是一个可选的着色器,其位于顶点和片段着色器之间。 几何着色器接收来自顶点着色器的一个片元的一组顶点,然后可以对其进行变换,可以输出新的不同类型的片元,也可以增加顶点数,其功能非常强大。 一般写法如下: 可以看到首先定义了输入 阅读全文
posted @ 2019-09-04 15:29 茶飘香~ 阅读(299) 评论(0) 推荐(0) 编辑
摘要:Uniform Buffer 是一个很有用的缓存,可以将大量的需要传递至多个着色器的矩阵、向量数据等存储在uniform buffer中。这是一个公共的缓存,所以当多个着色器需要传递相同的数据时,可以使用uniform buffer,减少代码量,应该也可以较少CUP传递至GPU的数据量。 大体思路是 阅读全文
posted @ 2019-09-02 16:28 茶飘香~ 阅读(347) 评论(0) 推荐(0) 编辑
摘要:立方体贴图,也称CubeMap。其实就是一张包含六个面的纹理贴图,一般情况下是加载六张贴图构成cubemap。 加载代码如下: 使用cubemap实现天空盒 片段着色器中采样纹理 效果展示: 1、反射 - 盒子 2、反射 - nanosuit 3、折射 - nanosuit 阅读全文
posted @ 2019-08-29 19:23 茶飘香~ 阅读(99) 评论(0) 推荐(0) 编辑
摘要:帧缓冲,显卡渲染出的图像会保存在默认的帧缓冲之中,其包括的附件有颜色、深度、模板缓冲。 我们可以创建自己的帧缓冲。 我们需要为其附加一些附件(如,颜色、深度、模板缓冲)。 对于颜色,我们可能有时需要在渲染后做后期处理,那么就需要获取渲染后的像素值,这种情况下好的选择是使用颜色纹理作为附件。 而深度和 阅读全文
posted @ 2019-08-27 17:41 茶飘香~ 阅读(171) 评论(0) 推荐(0) 编辑
摘要:需要先将所有的面顶点按逆时针存储,这样从摄像机出发看不见的面的顶点环绕顺序就变成了顺时针了,利用这个特点可以找到背面了,进行剔除。 需要知道的几个函数: 1、开启面剔除 glEnable(GL_CULL_FACE); 2、设置剔除正面还是背面,或正面和背面都剔除 glCullFace(GL_BACK 阅读全文
posted @ 2019-08-19 15:28 茶飘香~ 阅读(56) 评论(0) 推荐(0) 编辑
摘要:颜色向量有四个分量RGBA,之前只是用了RGB颜色分量,从来没有使用过A-alpha透明度,今天看了一下资料,简单总结一下。 1、在frag着色器中使用discard,对透明度小于0.1的片段进行丢弃 效果图:(图中的草是一张方形的纹理图,可以对alpha<0.1f的部分进行丢弃,只绘制草的部分) 阅读全文
posted @ 2019-08-19 14:48 茶飘香~ 阅读(108) 评论(0) 推荐(0) 编辑
摘要:在windows API搭建的OpenGL窗口中使用模板缓冲,需要在像素格式描述表中设置stencil buffer位宽为8,这样窗口会自动生成stencil buffer,然后可以在opengl环境下使用模板缓冲了。 一个渲染物体轮廓的示例,绿色为小长方体的边框 阅读全文
posted @ 2019-08-16 14:24 茶飘香~ 阅读(62) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 33 下一页