摘要:
首先贴一个链接,该链接内有大量基于OpenGL的渲染技术教程和Code Sample,本文基本上在其Tutorial 40的基础上进行了翻译,并加入了部分自己的理解。原文在此: http://ogldev.atspace.co.uk/index.html Shadow Volume,即阴... 阅读全文
摘要:
为Unity3D编写Low-level native plugin插件,主要是用作对Unity自带的render pipeline作拓展使用,可以在其渲染的各个stage插入用户自己的渲染代码。 具体的编写过程与之前的Native Plugin编写差不多,也是用extern "C"对C++代码进行封 阅读全文
摘要:
目的:在Unity中使用已有的C++库。 方法:1、新建VS C++工程,设置输出目标为dll。 2、采用extern “C" { __declspec(dllexport) void API(type param); }的形式将C++ class的行为封装导出,生成api.dll。 3、将生成的a 阅读全文
摘要:
最近在使用OpenGL折腾Normal Mapping。说白了就是有一个纹理,里面存储的是法向量。在计算光照时,用该纹理中采样得到的法向量来替代几何体原法向量进行光照计算。这个存储法向量的纹理叫做Normal Map。有时候场景资源不会直接给你Normal Map,而是给你一个Height Map,... 阅读全文
摘要:
闲话不唠,简单粗暴版。 简单提一句MSAA(Multisample Anti Aliasing),依本人愚见,MSAA就是光栅化阶段对一个像素内部进行多次采样(采4次就是4X,采8次就是8X多重采样),然后根据按照一定规则(默认是取平均值)将同一个像素内的多个采样点融合成一个的过程(resolve... 阅读全文
摘要:
先来整理下本人对FBO的理解。FBO是FrameBuffer Object的首字母简称。翻译过来就是帧缓冲区的意思。根据我的理解,OpenGL作为图形API,可以看做是画笔,帧缓冲区可以比作画布。我们使用OpenGL在帧缓冲区上“作画”(渲染)。 首先,我们需要建立OpenGL Context... 阅读全文
摘要:
最近的工作需使用OpenGL的MultiSample功能,在不使用glut,glfw等库的情况下,要创建支持Multisampling的OpenGL Render Context对于初学者来讲还是要花一番功夫的。昨天晚上又把Nehe’s OpenGL tutorial里的Lesson 46拿出来... 阅读全文