随笔分类 -  渲染

(转)怎样使用深度纹理
摘要:这个问题经常出现, 所以我试着来总结一下ATi和nVidia芯片对于深度纹理的支持情况. 如果发现我说错了nVidia的深度实现, 请告知我 :)ATi和nVidia在硬件上都支持深度纹理, 虽然方法不一样. 深度纹理的创建非常相似:* 曝光的格式- ATi曝光了两个FOURCC 来创建16或24位深度的纹理:#define FOURCC_DF16 ((D3DFORMAT) MAKEFOURCC('D','F','1','6')) #define FOURCC_DF24 ((D3DFORMAT) MAKEFOURCC('D 阅读全文
posted @ 2012-09-09 23:27 云 溪 阅读(919) 评论(0) 推荐(0)
大哉,unity脚本技术框架
摘要:很久没写新随笔了,实在很内疚,最近为了工作在学习unity,发现Unity实在是个好东西,普通的程序员自学一段时间就可以很快做成游戏DEMO,可以说,Unity和Unreal3是当前在国内最热的两款游戏引擎,特别因为Unity的跨平台编译,使得Unity做的3D手机游戏基本占领了移动市场。 unity可以使用C#、Javascript、Boo(类似Python)三种语言跨平台编译(Windows、Linux、Unix、Android、iOS),看到这里的读者一定和我当初一样好奇,三门语法差异之大、运行环境如此不同的语言(且不常使用来制作游戏,常用的是LUA、Python)竟然能同样为这么... 阅读全文
posted @ 2012-06-24 16:26 云 溪 阅读(3792) 评论(0) 推荐(1)
3D程序入门
摘要:前面的几封帖子已经对Ogre有了一个比较大方面的介绍,但是如果不了解3D的基础知识,比如(比如DirectX或者OpenGL)是比较难上手Ogre,这段时间开始会着手整理一些资料,以便新加的同学可以快速学习到一些东西。 DirectX是微软推出的3d程序开发库,所以主要应用于windows程序,目前的最新版是与window7绑定的11,不过我现在还在用9.0c开发,大家可以到http://www.skycn.com/soft/39916.html下载他的sdk 至于OpenGL,大家一看名字就知道是开源程序了(IT界总会有商业产品和开源产品之间的竞争,如SQLServe和MySQL,W... 阅读全文
posted @ 2011-11-05 19:06 云 溪 阅读(497) 评论(0) 推荐(0)
Ogre入门
摘要:发一封Ogre入门贴,希望能对社团的同学们有所帮助。 首先做什么呢?当然是配置环境啦,你可以到http://www.ogre3d.org/去下载最新版本的Ogre sdk,另外,这个网站还是ogre的官方网站,里面的wiki,bbs都是世界各地的ogre爱好者发的贴和文章,学习的过程中遇到问题去里面找一般都能找到解决方法,同时也锻炼了英语水平。 将sdk下载好解压好(非中文路径),同样要在VS2008中配置“可执行文件”“包含文件”“库文件”,贴上我的路径以供参考:可执行文件F:\lib\OgreSDK_vc9_v1-7-1\bin包含文件 F:\lib\OgreSDK_vc9_v... 阅读全文
posted @ 2011-11-05 19:06 云 溪 阅读(731) 评论(0) 推荐(0)
ogre中文显示
摘要:搞了两天了,终于把Ogre中使用中文搞通了(无论是overlay上显示还是公告板显示),中间过程中把GameRes上的相关文章都看了一遍,对字符集、trueType、freeType等概念都搞清楚了,其中有用GDI,windows API,改写ogre,动态生成纹理好多解决方案。但可能本人太懒,急于找到一种可行法案即可,效率神马的先不考虑。如何在Ogre中使用字体(如定义fontdef)大家可以去翻翻教材,显示中文的主要区别就是:1 fontdef中加载的是一种支持中文的trueType(ttf,ttc)2 fontdef中添加code_point,这里指的是中文的unicode编码,我现在写 阅读全文
posted @ 2011-11-02 12:47 云 溪 阅读(1187) 评论(0) 推荐(0)
(转)OGRE一起学(十四) 阴影
摘要:OGRE 中可以使用三种形式的阴影技术 (ShadowTechnique) ,这个在引擎评估专栏的《 OGRE (10) -- 投影》一节中已经有过简要的说明,这里进一步研究三种阴影技术的一些具体差异和细节控制。示例代码中除了阴影技术的演示之外还包括了键盘输入的处理,按主键盘上的 [1] 、 [2] 、 [3] 、 [4] 可以在各种阴影技术之间切换: [1] SHADOWTYPE_NONE [2] SHADOWTYPE_STENCIL_MODULATIVE [3] SHADOWTYPE_STENCIL_ADDITIVE [4] SHADOWTYPE_TEXTURE_MODULATIVE 键盘 阅读全文
posted @ 2011-10-24 14:48 云 溪 阅读(910) 评论(0) 推荐(0)
3dmax中合并Editable_mesh
摘要:最近为了场景的优化,接到一个小人物,用maxscript把相同父节点的可编辑网格合并,以使程序渲染速度提高,原理在场景管理器那篇随笔中说到过了。于是在晨辉的帮助下开始学习maxscript,遇到问题主要可以3dmax的maxscript.chm中找到帮助,在研究了一番maxscript的写法之后和将可能会遇到的问题后再开始写就会很流畅了。考虑到主要的问题有:1 函数、if、for的写法2 如何判断一个节点的类型(MaxRootNode?Dummy?Editable_mesh?)这里使用classOf函数(也可以使用isKindOf)3 依附的选项,这里主要加上attachMat:#IDToMa 阅读全文
posted @ 2011-10-09 23:34 云 溪 阅读(1662) 评论(0) 推荐(0)
整理一下纹理映射
摘要:最近刚看完《cg教程-可编程实时渲染权威指南》这本书,对照之前写的纹理的文章,现在从渲染管线角度加深了理解,再重新整理一遍图形学中纹理映射。一:alpha mapping 简单来说就是用带透明通道的图片进行纹理贴图,主要用例为树,其实就是两个互相垂直的矩形都贴上贴图,但要使透明的alpha不被显示出来二:light mapping 就是用一张光照图片和另一张图片进行混合,模拟有光照的样子,NEHE的opengl教材中第七章就属于典型的例子三:环境映射(environment mapping) 通过视线和法向量计算出入射光线,通过此入射光线在纹理盒(CubeTexture)中查找到相应的像... 阅读全文
posted @ 2011-10-01 18:10 云 溪 阅读(2393) 评论(0) 推荐(0)
(转)ogre材质脚本属性
摘要:顶层Material属性属性名 值的格式 描述lod_distances <d1> [<d2> ... <dn>] LOD的距离列表receive_shadows <on>|<off> 阴影是否会投在这个物体上(默认为on) transparency_casts_shadows <on>|<off> 透明物体是否投射阴影set_texture_alias <alias_name> <texture_name> 重命名纹理Technique 属性 属性名 值的格式 描述scheme < 阅读全文
posted @ 2011-09-29 23:31 云 溪 阅读(457) 评论(0) 推荐(0)
(转)修改ETM,用Ogre实现《天龙八部》地形与部分场景详解(附源码)
摘要:本文主要讲的是《天龙八部》游戏的地形和一部分场景的具体实现,使用C++, Ogre1.6,我摸索了段时间,可能方法用的并不是最好的,但好歹实现了。文章可能讲得有点罗嗦,很多简单的东西都讲了。我是修改了ETM(Editable Terrain Manager)实现的地形,其实单单实现天龙八部的地形场景等的载入根本不需要使用ETM,直接用Ogre的顶点->索引->纹理就可以搞定地形,但我要做的是可以实时编辑的,所以用了ETM,场景其由于很重要的粒子和model等部分我还没去看,所以等以后看了再详细写关于场景的部分,但这个Demo已经实现了基本的场景的载入。光,雾,环境,静态物等都能载入 阅读全文
posted @ 2011-09-18 15:01 云 溪 阅读(491) 评论(1) 推荐(0)
(转)天龙八部水面
摘要:本文主要讲的是《天龙八部》游戏中水面(TerrainLiquid)的具体实现,使用C++, Ogre1.6 。天龙的水面做的比较简单,虽然没有倒影,但动态纹理+深度图做出的效果还行,看着不是特别假。一般情况下,TerrainLiquid有一层动态纹理,有的还会有一层1D深度图纹理,深度图纹理用来控制不同深度水面的透明度。另外还会给出一个坐标,可以称之为种子坐标,通过这个坐标可以填充整个水面。总的来说要实现天龙的水面只要搞清楚两个问题1.如何利用种子坐标填充整个水面2.如何利用深度图纹理控制水面透明图文章最后我放了TerrainLiquid的代码的链接,配合上篇随笔给的地形Demo代码再加上水面 阅读全文
posted @ 2011-09-18 14:34 云 溪 阅读(298) 评论(0) 推荐(0)
场景管理器学习笔记
摘要:一直想等得闲开始写博客,却总是“说的未来到底多久才来”,这两天在研究OGRE中渲染优化的问题,无意中搜到一大牛在博客园的博客http://www.cnblogs.com/lancidie/好像突然又看到了更大的OGRE世界,夜深人静,想想确实该抛弃掉一些无谓的东西,专心做这些想做的事了,好吧,博客园的处女作就写写这两天关于场景管理的学习笔记吧。大多都来源于网上的资料,配以个人的理解。 目前的大多数有游戏引擎都采用场景图(scene graph)的概念对场景中的模型进行管理。如图: 场景图其实是一棵树,上面挂接结点,结点则可以依附模型实体(OGRE中为entity,即mesh),... 阅读全文
posted @ 2011-09-17 21:18 云 溪 阅读(795) 评论(0) 推荐(0)