图形编程
专门讨论游戏开发中的图形技术
摘要: 这里说一下Freetype的关键点,比较基础的在很多文章已经有说明,这里就不详细说明了。
FreeType每个字符的加载,可以影响到后面对字符图像的处理。
阅读全文
摘要: 首先确定阴影的最基本原理:
阴影是以光源作为摄像机(叫作Camera_light),光照方向作为摄像机的look的方向,然后把这个摄像机看到的场景物渲染到纹理,这个纹理就叫shadowmap。
阅读全文
摘要: 1.纹理
在gles2中,纹理在glsl中定义的顺序,并不是按先后顺序来排列的。
阅读全文
摘要: 2012-2013年AIREngine开发总结及未来展望
阅读全文
摘要: 这里说的是一些常规的人没考虑到的效果。
1、精确拾取的实现
一般普通的拾取就是AABB,再是OBB,或者是遍历一个模型的面。这三种方式都有缺陷。
阅读全文
摘要: 谈到游戏中的性能优化,说白了就是如何提高帧率和降低内存。
提高帧率的基本原则就是减少DP次数,还有是找出时间消耗高的程序代码加以修改。
阅读全文
摘要: vertexdeclaration在引擎中,原来是直接放在vertexbuffer里面,当设置这个vertexbuffer的时候再设这个declaration,在DX9中看似没问题,因为每个vertexbuffer都有自己的顶点格式。
阅读全文
摘要: AIREngine已经支持插件式的开发,即不需要开发人员在工程上连接某个DLL和lib,直接通过LoadLibrary的形式加载。
阅读全文
摘要: 之前写的人物模型接收阴影突然出了问题,完全接收不到阴影,后来发现是自己写的一个矩阵引起阴影上的LightWorldViewProjmatrix出了问题。
阅读全文
摘要: DX9和DX11的API相差非常大,如果一个引擎要支持两种渲染器,在设计上还是要花点功夫。
阅读全文
摘要: 1、地形网格。
AIR引擎的地形设计,是基于四叉树的管理,既然用了四叉树,就有相对应的地块数据,在AIR引擎里面是TerrainBlock。
阅读全文
摘要: 很久没写技术文章,今天写一下骨骼动画的过渡,也当是复习一下。骨骼动画的过渡在游戏中很常见,由一个动作切换到另一个动作有个过渡时间,这个过程其实是动作混合的过程。
阅读全文
摘要: 花了大概几周的时间实现了软阴影。总的来说难度还是比较大的,而且我也走了些弯路,不过也值得,单是写shader不是很难,但要放到引擎中还是有点难度。shadowmap的原理我就不讲了,网上有很多。
阅读全文
摘要: 最近发现一个很特别的问题,可能是我水平未够,找不到原因。
阅读全文
摘要: 最近使用clipplane的时候,当渲染物在固定管线的时候,一切正常,但当渲染物用了vertexshader的时候,完全看不到了,找了很久也不知道问题的所在。
阅读全文
摘要: 写代码这么久,材质、渲染状态和shader的问题一直给我有很大的困拢,今天为了整理一下思路,决定写一下设计文档和序列图。经过这样一写,和对之前渲染状态管理的一些文章的理解,思路终于清楚了一点。
阅读全文
摘要: 温故知新,水面很早就实现了,但没有在这里写过,今天总结一下。
水的模拟要达到以下效果:水面的折射与反射,水的波动。
要达到这种效果,需要以下四张纹理:折射纹理(RenderTarget),反射纹理(RenderTarget),Bumpmap,水自己的纹理。
折射与反射的原理就不具体说了,下面只说实现步骤。
阅读全文
摘要: 为了设计上的灵活,我把shader、纹理等都封装到材质(Material)里,以方便渲染对象在不同状态下材质的切换以达到不同的渲染效果。
阅读全文
摘要: 摘自http://www.cnblogs.com/ixnehc/articles/1282350.html
我归纳一下就是:准备顶点和图元数据----》传到D3D渲染管线----》处理顶点数据(固定、shader)----》几何处理(裁剪、背面剔除、光栅化)----》像素处理(纹理采样)----》着色
阅读全文
摘要: 创建一个空的工程
我们首先在3DS Max创建面板里面建立一个简单的几何物体,称之为”widget” 。可以通过视图窗口里三个参数去修改它的几何特性。Size表示轮廓尺寸,第二个参数left表示物体左翼的外延,第三个参数right表示右翼的外延。
首先我们去了解一下怎样建立一个工程,可以通过以下两种方法:
阅读全文
摘要: 上次说过要在这里把最新的地形设计写出来,不过一直没时间写,也想画些UML图,但没工具画,呵呵,只能通过手写了。希望大家看得明白吧。
阅读全文
摘要: 首先总结一下上一阶段的成果。
1、 LOD大规模地形已经进行了优化与重构,实现了1024x1024大规模地形,并实现了地形的光照模型,DEBUG版本平均帧数已经达到40,稍后会写上最新的LOD地形设计思想。
阅读全文
摘要: Skybox搞好后,发现在边线有很明显的裂缝,一开始时不知道如何解决,后来问了人,有人说把纹理采样改成Point,有人说纹理坐标改成0.001到0.999,这两样我都试过,发现改成Point裂缝是消除了,但看起来很不好看,改成0.001到0.999也有裂缝。
阅读全文
摘要: 地形从一开始研究,到实现,分了好多个版本,重构了好多次……主要问题在于对LOD数据结构的不熟悉和对索引用法的不熟悉。经过一系列的研究与学习,总结了如下实现LOD的方法
阅读全文
摘要: 用DX实现Skybox的原理与步骤。
阅读全文