游戏相关
文章平均质量分 55
昵称90天可以改一次
2D动作游戏开发
展开
-
水波特效的实现
//*******************************************************//根据波能数据缓冲区对离屏页面进行渲染//*******************************************************void RenderRipple(){//锁定两个离屏页面 DDSURFACEDESC ddsd1, d转载 2009-03-14 12:12:00 · 1198 阅读 · 1 评论 -
Coco2dx 图文混排 (二) 文字缓存
我们使用CCRenderTexture来缓存文字,这样文字的渲染效率要高一些 这里就需要用到CCSpriteBatchNode来绘制大量的CCSprite 这样的绘制有个人好处就是不用切换纹理,众所周知切换纹理是很非常耗时的一个显卡操作,那么当我们使用CCSpriteBatchNode时 只需要一个drawcall就可以绘制全部的字体 效率是非常高的 1. 创建RenderT原创 2014-01-11 14:11:06 · 1477 阅读 · 0 评论 -
Coco2dx 图文混排 (一)
如果要图文混排的话 我们不能使用CCTTFLabel 由于CCTTFLabel的字体总是在渲染时先渲染到一个Image上面 如果我们要渲染一个同样的字很多次的话 就效率太低了 那么我们选择CCSpriteBatchNode来渲染字体 并用CCRenderTexture把要渲染的字体缓存到一张大的纹理上面 对于图片来说 CCSprite可以很好的满足我们需求,那么我们吧这些东西都混排到原创 2014-01-09 17:13:43 · 1418 阅读 · 0 评论 -
如何使用 Cocos2dx 来绘制异形精灵
方法1: 使用stencil buffer 可惜我ogl不太熟悉 方法2: 使用rendertexutre CCSize maskSize = spMask->getContentSize(); CCRenderTexture* renderTex = CCRenderTexture::create( maskSize.width, maskSize.height, kCCTextu原创 2013-10-30 17:15:35 · 896 阅读 · 0 评论 -
Ogre的粒子
花了点时间研究了一下Ogre的粒子系统 particle_system tsss {//普通属性 cull_each true emit_emitter_quota 3 iteration_interval 0 local_space false material DefaultMaterial nonvisible_update_timeout 0原创 2013-02-05 16:11:11 · 718 阅读 · 0 评论 -
OGRE 渲染流程
一丶 准备渲染列表 Root::OnFrameMove() 里面去调用_updateAllRenderTargets() 每一个 active renderTarget 会调用 itarg->second->update(swapBuffers); 不同的update()会调用到 updateImpl() updateImpl() 里面会调用 ViewPort的update() 里面会mCamera->_renderScene(this, mShowOverlays); ViewPort会_ren原创 2010-06-11 17:08:00 · 1084 阅读 · 0 评论 -
Ogre OcttreeSceneManager
_findVisibleObjects() 是如何找到在场景里面可见的物体的 他会调用walkOctree() walkOctree() 里面会对每一个子节点进行walkOctree() 最终OctreeCamera::getVisibility会用来判断是不是可见的 getVisibility 里会根据Frustum的每个平面是不是和这个octree的外接盒有交集来确定是不是可见原创 2010-06-11 18:05:00 · 475 阅读 · 0 评论 -
D3D pure device
A normal NOT pure D3D device: +----------------------------+ |Your application | +----------------------------+ |D3D API (COM interface etc) | +----------------------------+ |D3D Parameter checking | +-------------原创 2010-06-11 14:23:00 · 1070 阅读 · 0 评论 -
HDR研究之一
第一步:曝光控制(Exposure Control: The First Step) 1. 需要一张 high dynamic range environment maps2. 第2步是从这个图片的alpha通道里面获取的值去计算真正的HDR value 原文: 好吧.. 我没看懂..The next step is to use the alpha chann翻译 2010-03-02 16:51:00 · 689 阅读 · 0 评论 -
[转帖]HDR lighting
http://dev.gameres.com/Program/Visual/3D/HDRTutorial/HDRTutorial.htm转载 2010-03-02 16:49:00 · 520 阅读 · 0 评论 -
HLSL模拟散射光
float4x4 matViewProjection;float4x4 matWorldView;float4 PointLightPos;struct VS_INPUT { float4 Position : POSITION; float4 Normal : NORMAL0; };struct VS_OUTPUT { float4 Pos原创 2009-06-07 10:44:00 · 725 阅读 · 0 评论 -
ifstream::seekg 的奇怪问题:
iMd2Loader.seekg(0, ios::beg ); iMd2Loader.seekg(pHeadr->ofs_st); 可以正确定位 但是 iMd2Loader.seekg(pHeadr->ofs_st, ios::beg );就无法正确定位 缓慢查找中 - -#原创 2009-04-03 15:11:00 · 803 阅读 · 0 评论 -
cocos2dx图文混排(三)
有了文字渲染 那么图片渲染是很简单的(是个人都知道拉 CCSprite* S = CCSprite::createWidthSpriteFrame(FrameName) ); 那么我们只要创建一个 CCNode* N然后把 CCSprite和写满字体的CCSpriteBatchNode都加到N的子节点就可以了撒 相信是比较简单的 但是为了给外界一个方便的接口 我们还是是用Set原创 2014-01-11 14:29:07 · 2137 阅读 · 0 评论