
3DEngine
文章平均质量分 76
nxtgo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
cSparrowApp类以及IO事件处理
1、cSparrowApp类的设计cSparrowApp类是所有SPE应用程序的抽象基类,应用程序继承它之后可以重写它感兴趣的虚函数。cSparrowApp类定义了下面这些虚函数,virtual void OnInit(){}virtual void OnExit(){}virtual bool OnKeyDown(Key key){return false;}virtual boo原创 2013-09-08 20:21:01 · 688 阅读 · 0 评论 -
3D引擎优化方法整理
来自:http://blog.youkuaiyun.com/udking/article/details/6048210【游戏开发】DirectX 性能优化:(From D3D9 SDK)2009-06-04 15:19性能优化:(From D3D9 SDK) 常规技巧1 只在必须的时候Clear。IDirect3DDevice9::Clear函数通常需要花费较多的时间,因此要尽量少调用,而且只清转载 2013-11-18 15:42:51 · 3332 阅读 · 0 评论 -
次时代引擎技术一览
来自:http://blog.youkuaiyun.com/udking/article/details/6048199API: Driectx 11.0 & 10 Driectx 9.0CTexture Resolution(材质解析度) :16384*16384Quadcore-Multithreading(多核心多线程) √Tesselation(曲面细分) √Defe转载 2013-11-18 15:41:26 · 976 阅读 · 0 评论 -
骨骼蒙皮动画(SkinnedMesh Animation)的实现
1、简介骨骼蒙皮动画因其占用磁盘空间少并且动画效果好被广泛用于3D游戏中,它把网格顶点(皮)绑定到一个骨骼层次上面,当骨骼层次变化之后,可以根据绑定信息计算出新的网格顶点坐标,进而驱动该网格变形;一个完整的骨骼动画一般由骨架层次、绑定网格以及一系列关键帧组成,一个关键帧对应于骨架的一个新状态,两个关键帧之间的状态可以通过插值得到;下面介绍骨骼蒙皮动画在SPE中的实现细节,分为骨骼层次的表示、动原创 2013-09-10 23:05:42 · 9144 阅读 · 0 评论 -
阴影锥(Shadow Volume)
Shadow Map和Shadow Volume是当今比较流行的实时阴影渲染方法,跟Shadow Map相比,Shadow Volume最大的优点是没有阴影锯齿问题,但由于它是基于几何的方法,每帧都有可能要构造和渲染阴影锥,而且有些工作必须由CPU完成,使得它在效率上没有Shadow Map高,因为其计算都是在GPU端完成的;不过对于室内场景或者objects不多的室外场景,Shadow Volume仍有用武之地,阴影锥的实现有多种算法,而且可以做比较多种优化,这里学习一下Z-PASS和Z-FAIL算法,它原创 2013-09-19 17:55:06 · 11312 阅读 · 2 评论 -
延时渲染(Deferred Shading)
延时渲染(deferred shading)相对于前向渲染(forward shading)主要有以下两个优势:(1) 只对看得见的像素进行光照计算,对于深度比较复杂(像素被超过4个以上的面片所覆盖)以及灯光数目较多的场景,可以有效提高渲染速度;(2)将光照与其他效果分离,可以大大减少shader组合的数量,假设光照效果数为M,其他效果数为N,对于前向渲染,则需要组合出M*N个shader,而对于延时渲染,只需要M+N个shader即可。原创 2013-10-02 22:18:08 · 2824 阅读 · 0 评论 -
基于Shadow Map的阴影实现
0、简介Shadow Mapping是一种基于图像空间的阴影实现方法,其优点是实现简单,适应于大型动态场景;缺点是由于shadow map的分辨率有限,使得阴影边缘容易出现锯齿(Aliasing);关于SM的研究很活跃,主要围绕着阴影抗锯齿,出现了很多SM变种,如PSM,LPSM,VSM等等,在这里http://en.wikipedia.org/wiki/Shadow_mapping可以找到很原创 2013-09-16 21:39:06 · 7371 阅读 · 2 评论 -
倒影(reflections)效果的实现
1、简介当站在湖畔岸边或者镜子面前的时候,都可以看到倒着的自己,那种效果就叫倒影,或者叫镜面反射。在SPE中也支持这种效果,实现的基本思路是把物体根据反射平面镜像之后再绘制一遍,绘制镜像时有几个问题需要注意:1、把深度测试关掉;2、如果打开了背面剔除,背面要反转,即如果设置逆时针为正面,则绘制倒影时逆时针应为背面。3、记得打开混合,并设置好倒影的透明度;4、先绘制反射平面,接着绘制倒影,最后绘原创 2013-09-12 22:13:03 · 9790 阅读 · 0 评论 -
基于shader的效果框架
渲染效果一般由材质、灯光、纹理结合相应的渲染计算得到,现在的GPU都支持可编程渲染管线,用户可通过shader来跟GPU交互,为了提高渲染计算速度以及可扩展性,SPE的效果框架正是基于shader的。如图1所示:如上图所示,效果框架以cLightManager类,cMaterial类以及cShaderManager类为中心,附带其他一些支持类。下面一一说明。1、灯光cLight类包原创 2013-09-09 22:52:02 · 1506 阅读 · 0 评论 -
摄像机相关类的设计与实现
1、cCamera基类SPE现在支持两种相机,模型预览和第一人称相机,它们都从cCamera类继承,cCamera类一来是提供所有摄像机的一些公共接口,二来是实现相机的一些公共功能。下面是它提供的一些关键的函数:void LoadAllMatrix();void SetViewport(int vx,int vy,int width,int height);void SetProj原创 2013-09-09 21:22:03 · 1262 阅读 · 0 评论 -
关于Sparrow 3D Engine(SPE)
Sparrow 3D Engine,简称SPE,是一个兴趣Project,基于OpenGL和Freeglut。其实起初并没有要写一个引擎的想法,况且开源的3D引擎非常多,直接拿来用就可以了。后来导师让我做科研,方向是跟布料仿真相关的,我就开始看文献,做实验,由于不需要很多太炫的功能,于是就直接用OpenGL写demo,但每次创建一个新的demo时我就发现要写很多跟以前做过的demo重复的代码,像摄原创 2013-09-08 16:15:58 · 1621 阅读 · 0 评论 -
自己做的一些渲染demo的截图
镜面倒影法线贴图(关闭)法线贴图(打开)diffuse map + normal mapShadow Map阴影(PCF过滤)Shadow Volume阴影(点光)Shadow Volume阴影(方向光)SSAO关闭(只打了环境光)SSAO打开(未对AO map做过滤)FXAA抗锯齿关闭FXAA抗锯齿打开(3级/5原创 2014-01-14 20:53:48 · 1548 阅读 · 0 评论