liquidx
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(21)
给我留言
查看公开留言
查看私人留言
随笔分类
(31)
linux(6)
(rss)
Ogre(10)
(rss)
开发日记(11)
(rss)
写过的一些作品 (4)
(rss)
随笔档案
(31)
2014年5月 (1)
2014年2月 (1)
2014年1月 (1)
2009年8月 (1)
2009年7月 (9)
2009年6月 (18)
相册
作品
搜索
积分与排名
积分 - 144993
排名 - 179
最新评论
1. re: 新版3D斗地主
博主很有才啊 佩服噢
我都工作好多年了也没做出个成样的东西
--FF
2. re: 新版3D斗地主
HI
--g
3. re: 手把手教你做传奇外挂
顶,原来外挂是C++结合asm的,我还以为只用C++就可以实现,汗~~~~
--JJ比你长
4. re: 新版3D斗地主
太好玩了
--爱上你的坏
5. re: 天龙八部资源提取工具
artistic c++ qq: 1035560491 all.material 乱码
--artistic c++
阅读排行榜
1. windows下使用pthread库(转)(37131)
2. 手把手教你做传奇外挂(16192)
3. kbengine mmo源码(完整服务端源码+资源+完整客户端源码)(9063)
4. google ProtoBuf开发者指南(9009)
5. 试用google Protocol Buffers( 比xml快20~100倍, 支持序列化数据 )(6738)
评论排行榜
1. windows下使用pthread库(转)(9)
2. 试用google Protocol Buffers( 比xml快20~100倍, 支持序列化数据 )(8)
3. 新版3D斗地主(7)
4. 研究了好几个月的游戏场景,完成了部分(4)
5. 试用boost.serialize序列化对象。(4)
Powered by:
博客园
模板提供:
沪江博客
C++博客
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
研究了好几个月的游戏场景,完成了部分
最后一次更新于2007年04月21日
使用directX9.0c, vs2005sdk, hlsl 开发 环境7300GS,奔4CPU, 1024x768 0级lod 因速度可以接受所以没有继续做lod(不过已经做了lod相关设计只是没用而已) 还没有做遮挡消除等功能, 目前实现了 动态云,太阳,天空,大地,碰撞检测. 4层细节贴图 和 8层细节贴图 在我机器环境上可以达到 (8layer)100~(1layer)250fps,下一步该实现 真实水,和 树木,草,石头,建筑,天气效果等等... 最近写的点累,每天要上班...先放着...
代码有很强的灵活性, 直接继承基类root 添加渲染对象就可以实现用户自定义coding.
这是这个 demo的user代码.
1
#pragma once
2
#include
"
KBCommon.h
"
3
#include
"
KBRoot.h
"
4
#include
"
KBWorld.h
"
5
#include
"
KBWorldGeometry.h
"
6
#include
"
KBFps.h
"
7
using
namespace
KBEngine;
8
9
class
CSceneWorld :
public
CKBWorldBase
10
{
//
继承CKBWorldBase 可以自定义渲染 如 雾的方式, 灯光 等系列渲染参数
11
public
:
12
CSceneWorld(
void
)
{}
;
13
public
:
14
~
CSceneWorld(
void
)
{}
;
15
virtual
BOOL create( TiXmlNode
*
section )
16
{
17
CKBWorldBase::create( section );
18
//
自定义创建
19
return
TRUE;
20
}
21
}
;
22
23
class
CSceneApplication :
public
CKBRoot
24
{
25
public
:
26
CSceneApplication(
void
)
{}
;
27
public
:
28
~
CSceneApplication(
void
);
29
virtual
BOOL createScene( TiXmlNode
*
section );
30
/**/
///
鼠标控制
31
virtual
void
ProcessMouse(
void
);
32
}
;
33
34
35
36
#include
"
SceneApplication.h
"
37
#include
"
KBSkyGeometry.h
"
38
39
CKBRenderObject
*
m_worldGeo
=
NULL;
40
CKBRenderObject
*
g_fps
=
NULL;
41
CKBRenderObject
*
skyDomeModel ;
42
CSceneApplication::
~
CSceneApplication(
void
)
{
43
SAFE_DELETE( m_worldGeo );
44
SAFE_DELETE( g_fps );
45
SAFE_DELETE( skyDomeModel );
46
}
;
47
BOOL CSceneApplication::createScene( TiXmlNode
*
section )
48
{
49
//
自定义创建
50
g_fps
=
new
CKBFps();
51
g_pWorld
=
new
CSceneWorld();
52
m_worldGeo
=
new
CKBWorldGeometry();
53
skyDomeModel
=
new
CKBSkyDomeModel();
54
g_pTextHelper
->
CreateFont(
"
Arial
"
);
55
g_pWorld
->
create( section );
56
//
创建天空
57
((CKBSkyDomeModel
*
)skyDomeModel)
->
create( section );
58
59
((CKBWorldGeometry
*
)m_worldGeo)
->
create( CKBD3DDevice::getSingleton().getDevice() , g_pWorld
->
getKBFrustum() , section );
60
g_pWorld
->
getKBCamera()
->
setPosY(((CKBWorldGeometry
*
)m_worldGeo)
->
collision( g_pWorld
->
getKBCamera()
->
GetEye()));
61
addToRender( g_fps );
62
addToRender( skyDomeModel );
63
addToRender( m_worldGeo );
64
65
return
TRUE;
66
}
67
68
void
CSceneApplication::ProcessMouse(
void
)
69
{
70
//
输入输出部分这是暂时的,将来会使用 Dxinput接口
71
CKBRoot::ProcessMouse();
72
if
( GetAsyncKeyState(
'
A
'
) )
73
g_pWorld
->
getKBCamera()
->
MoveZ(
3.0f
,((CKBWorldGeometry
*
)m_worldGeo)
->
collision( g_pWorld
->
getKBCamera()
->
GetEye()) );
74
if
( GetAsyncKeyState(
'
Z
'
) )
75
g_pWorld
->
getKBCamera()
->
MoveZ(
-
3.0f
,((CKBWorldGeometry
*
)m_worldGeo)
->
collision( g_pWorld
->
getKBCamera()
->
GetEye()));
76
}
77
78
79
//
贴图 下面的效果都是 4层细节贴图的样子
发表于 2009-06-09 17:46
liquidx
阅读(2709)
评论(4)
编辑
收藏
引用
所属分类:
写过的一些作品
评论
#
re: 研究了好几个月的游戏场景,完成了部分[未登录]
回复
更多评论
可以把源码发过来给小弟研究下么
chenxiangfeicvf@163.com
#
re: 研究了好几个月的游戏场景,完成了部分[未登录]
回复
更多评论
高手能不能把上面场景的全部代码给我看看!邮箱:liubin.cumt@163.com
#
re: 研究了好几个月的游戏场景,完成了部分
回复
更多评论
请问你有没用LightMap,有的话是如何实现呢?我最近正研究LightMap
#
re: 研究了好几个月的游戏场景,完成了部分
回复
更多评论
佩服
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
kbengine mmo源码(完整服务端源码+资源+完整客户端源码)
研究了好几个月的游戏场景,完成了部分
新版3D斗地主
手把手教你做传奇外挂
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Clicki