图形基础知识
liqiang981
这个作者很懒,什么都没留下…
展开
-
DXT5 的法线压缩方法
这应该是常识性的知识,不过大部分介绍normal map技术的文章似乎都忽略了这一点。众所周知,DirectX 9下,直接用DXT 5保存normal map,精度损失是很大的,效果也不好。ATI最早推出了3DC格式来解决这个问题(DirectX 10下有BC5),虽然目前所有a卡和n卡都支持3DC,但有些早期的n卡并不支持3DC,此外,对于xna程序来说,无法使用3DC格式,如何用DXT5保存n转载 2015-10-08 11:46:32 · 2315 阅读 · 0 评论 -
C语言中.h和.c文件解析(很精彩)
编译器在编译时是以C文件为单位进行的,也就是说如果你的项目中一个C文件都没有,那么你的项目将无法编译,连接器是以目标文件为单位,它将一个或多个目标文件进行函数与变量的重定位,生成最终的可执行文件,在PC上的程序开发,一般都有一个main函数,这是各个编译器的约定,当然,你如果自己写连接器脚本的话,可以不用main函数作为程序入口!!!!转载 2016-01-10 14:18:20 · 438 阅读 · 0 评论 -
MonoGame Cross Platform Implementation of XNA for iOS, Android, Mac , Linux, Windows, Windows8, OUYA
Cross Platform Implementation of XNA for iOS, Android, Mac , Linux, Windows, Windows8, OUYA and Playstation Mobile转载 2016-01-09 22:20:00 · 805 阅读 · 0 评论 -
引擎设计跟踪(九.14.2d) [翻译] shader的跨平台方案之2014
设计自己的Shader Langugage, 并转换为HLSL/GLSL后端代码转载 2016-01-09 16:09:43 · 388 阅读 · 0 评论 -
KlayGE
KlayGE是用于下一代游戏的一个完整的游戏开发框架。它是API无关的插件式结构,提供了很多先进技术,并且有无限的扩展性。转载 2016-01-09 16:06:16 · 420 阅读 · 0 评论 -
MojoShader
MojoShader is a library to work with Direct3D shaders on alternate 3D APIs and non-Windows platforms. The primary motivation is moving shaders to OpenGL languages on the fly. The developer deals with "profiles" that represent various target languages, such转载 2016-01-09 12:00:18 · 682 阅读 · 0 评论 -
理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式
GL_TRIANGLE_STRIP绘制三角形方式很多时候令人疑惑,在这里对其运作机理进行解释。原创 2015-12-24 19:47:16 · 681 阅读 · 0 评论 -
HLSL bytecode to GLSL编译器的第一步
从KlayGE 4.0开始,不但有为了下一版本开发的短期任务,还有一些中长期研发的任务。其中之一就是HLSL bytecode to GLSL编译器。 现在KlayGE里的shader主要由HLSL写成,通过#ifdef的土办法兼容Cg。对D3D11来说可以直接使用,但对于OpenGL和 OpenGL ES 2就得大费周折了。那种情况下,shader需要经过Cg编译器编译成传统的GLSL,在经过我自己的token级别的编译器转换成现代的GLSL,然后 才能使用。转载 2016-01-09 11:15:02 · 567 阅读 · 0 评论 -
Opengl Uniform
uniform限定了表示一个变量的值将由应用程序在着色器执行之前指定,并且在图元的处理过程中不会发生变化。转载 2015-12-24 15:06:13 · 716 阅读 · 0 评论 -
OPenGL中的缓冲区对象
在许多OpenGL操作中,我们都向OpenGL发送一大块数据,例如向它传递需要处理的顶点数组数据。传输这种数据可能非常简单,例如把数据从系统的内存中复制到图形卡。但是,由于OpenGL是按照客户机-服务器模式设计的,在OpenGL需要数据的任何时候,都必须把数据从客户机内存传输到服务器。如果数据并没有修改,或者客户机和服务器位于不同的计算机(分布式渲染),数据的传输可能会比较缓慢,或者是冗余的。转载 2015-12-21 21:59:30 · 366 阅读 · 0 评论 -
Visual Studio2013的C语言编译器对C99标准的支持情况
Visual Studio2013终于开始比较良好地支持C99特性了。在此之前,如果用C语言写代码的话,变量名都需要放到函数体的前面部分,代码写起来十分别扭。转载 2016-01-13 13:39:55 · 4193 阅读 · 0 评论