随笔分类 - 3D
摘要:游戏引擎:让一切可以配置by Goncely摘 要:接触3D世界快10个月了,目前正在设计开发自己的游戏引擎(纯属个人爱好),结合自己的学习和思考,谈一些体会和感受,纯属抛砖,欢迎指正和探讨。1 引子评判一个游戏引擎的重要指标是其通用性和可扩展性。个人认为,通用性可以理解为游戏引擎可适用于多种场合;可扩展性则能理解为当遇到游戏引擎不适合的场合时,能够很容易的对其进行扩展以满足新的要求。通用性和可扩展性的目的是为了让游戏引擎在不改变主体代码的情况下,尽可能满足不同场合和不同用户的定制需求,包括不可预见的需求。而成就这一切的根源都来自引擎的可配置性。2 游戏引擎简析当前游戏引擎,从功能上分,主要包
阅读全文
摘要:引言:GameBryo拥有一套复杂的材质系统,这套材质系统可以根据渲染对象的状态和属性生成不同的shader代码,提高了渲染流程的适应性,可以使你定义一套材质能适应多种渲染对象。同时,GameByro将shader的初始化和使用插件化,方便与美术工具集成,并且实现了平台无关性。为了实现这些目的,GameByro使用了一套复杂的机制,本文主要解析GameByro如何生成、编译并使用shader代码。 ShaderGameBryo的shader的接口封装在NiShader中,顶点数据流声明,常量表的访问,渲染状态的设置都是通过这个类(有点类似于D3Deffect)。在程序运行NiShader是由N
阅读全文
摘要:左上填充规则byGoncely摘要:对左上填充规则进行详细介绍的资料很少,而理解左上填充规则对于编写光栅化器至关重要。本文对光栅化的原理和左上填充规则进行了详细描述,描述的时候尽可能做到易懂、详尽,如果读者还是有不明白的地方请给我留言,我会将没有论述清楚的地方补充完善。1、概述光栅化的时候通常会遇到一个术语,那就是左上填充规则(top-leftrule),它的作用是为了避免相邻的多边形重复绘制邻边。如图1所示,如果没有左上填充规则,绘制三角形ABD和BCD的时候,有可能同时绘制BD边,导致BD被绘制2次。乍一看,除了稍微影响点效率外,重复绘制好像也没什么坏处,不过在处理透明度和模板(stenc
阅读全文
摘要:透视投影的原理和实现by Goncely摘 要:透视投影是3D渲染的基本概念,也是3D程序设计的基础。掌握透视投影的原理对于深入理解其他3D渲染管线具有重要作用。本文详细介绍了透视投影的原理和算法实现,包括透视投影的标准模型、一般模型和屏幕坐标变换等,并通过VC实现了一个演示程序。1 概述在计算机三维图像中,投影可以看作是一种将三维坐标变换为二维坐标的方法,常用到的有正交投影和透视投影。正交投影多用于三维健模,透视投影则由于和人的视觉系统相似,多用于在二维平面中对三维世界的呈现。透视投影(Perspective Projection)是为了获得接近真实三维物体的视觉效果而在二维的纸或者画布平面
阅读全文
浙公网安备 33010602011771号