游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5816|回复: 14

个人游戏引擎DogEngine--VZEX

[复制链接]

1

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2008-4-24 17:44:00 | 显示全部楼层 |阅读模式
名称:DogEngine
作者:VZEX
首页:http://www.dogengine.cn
授权:LGPL
特性:对摄像机的自由控制,渲染到离屏表面,小地图,2/3D音效,调试控制台,粒子系统(还很不完善)
基于DIRECTX9的2D游戏引擎DogEngine
这是我自己写的一款游戏引擎,第一次写,可能写的很不好,大家体谅下。
DogEngine,基于Directx9.0,参考了多款比较有名的引擎开发,其中比较有名的是HGE和ClanLib,事实上DogEngine的主架构就和ClanLib很类似,面向对象模式,各功能组件全部可独立使用。目前已经实现了所有的基本功能。目前是在sourceforge上维护的,地址是http://sourceforge.net/projects/dogengine,基于LGPL协议,全部开源。中文站点是http://www.dogengine.cn
希望大家多多光临,如果有bug的话请及时指出,文档估计要有些日子才能出,呵呵,偶的课余时间不够多饿。
下面是我写的几个例子的介绍:
test1:演示基本的创建窗口,以及记时器功能。程序在5秒后自动关闭


所有代码:


#define DOG_APP

#include "DogFrame.h"

using namespace dog;

class DogTest:public DogFrame
{
public:
    DogTest()
    {
         t=0.0f;
    }
    int Run()
    {
        AutoInit("vzex",320,480);
        //InitWindowStyle(0,defWinProc);
        //CreateDog("VZEX");

        Loop();
        return 0;
    }
    bool Update()
    {
        t+=GetDeltaTime();
        //alert(t);
        if(t>5.0f)
        {
            return true;
        }
        return false;
        
    }
   
    ~DogTest()
    {
    }
private:
    float t;
}app;


--------------------------------------------------------------------------
test2:演示鼠标输入检测与控制台创建,使调试效率大大加速


test3:演示3D音效,声源在屏幕中心处,请通过鼠标移动察看效果,音响自备
test4:基本的绘制功能演示,包括图元绘制和精灵的绘制,字体绘制,纹理支持colorkey,摄像机自动旋转,同时演示了在view中绘制的功能,可以通过鼠标平移摄像机,上下方向键控制摄像机的远近

test5:灰度图象转化,主要是使用了纹理的锁定操作。

test6:动画功能演示,可对动画进行暂停,停止,循环,是否归零进行设置,同时可以使用精灵的放缩和旋转功能,可以设置热点
空格重新开始播放,按空格进行重新播放

test7:粒子系统,使用了点精灵和批渲染,效率比一般的粒子系统要更高,不过目前使用比较复杂,不支持旋转,有待改善
空格键切换全屏,鼠标移动操纵摄像机,同时程序演示了局部区域绘制功能。

注:由于使用DogInput时协作级别默认独占模式,所以用截屏快捷键时要将游戏切换至
后台,而使得FPS降低(如果直接使用DogGraphic的截屏函数还需要改代码,所以没有使用)
另外测试机器不支持硬件顶点运算,所以以上FPS值仅供参考.

例子的下载地址:http://vzex.a74.96ns.com/blog/attachments/month_0804/TestExe.rar
或者在附件下载
不能运行的请到中文站的下载处去下载运行环境

sf_2008424174350.rar

386.49 KB, 下载次数:

0

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2008-4-26 14:45:00 | 显示全部楼层

Re:个人游戏引擎DogEngine--VZEX

看不懂。。

1

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2008-4-27 15:48:00 | 显示全部楼层

Re: Re:个人游戏引擎DogEngine--VZEX

niupi: Re:个人游戏引擎DogEngine--VZEX

看不懂。。

hoho,其实很简单的

2

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-4-27 16:01:00 | 显示全部楼层

Re:个人游戏引擎DogEngine--VZEX

问一下啊,那个灰度图,你是LOCK纹理的页面,然后一个个像素的改吗?
还有,支不支持光照贴图,光照合成的渲染啊?

1

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2008-4-27 16:55:00 | 显示全部楼层

Re: Re:个人游戏引擎DogEngine--VZEX

只为源码: Re:个人游戏引擎DogEngine--VZEX

问一下啊,那个灰度图,你是LOCK纹理的页面,然后一个个像素的改吗?
还有,支不支持光照贴图,光照合成的渲染啊?

你好,灰度图是按你说的那种方式做的,这个引擎本身为了防止某些局限性,我已经把大概尽可能使用到的接口都提供出来了,例如direct3ddevice指针你是可以直接获得的,所以你可以完全加入自己想做的效果。更确切的说它更像一个框架,并没有完全的封装所有的东西。还有这个主要是针对2d做的,3d方面的东西也不是很多,因为我本身也不太接触3d,呵呵 [em1]

2

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-4-28 09:19:00 | 显示全部楼层

Re:个人游戏引擎DogEngine--VZEX

恩,不错.不知道有没有资源管理的部分啊?
2D游戏要有大量的图形资源,游戏进行中动态载入和回收资源,这个不能不考虑吧
为了加快渲染速度,图形尽量放在显存中吧,而你的各种特效,都是用LOCK然后手动去改的,这样没有用到硬件加速啊
我是游戏学院出来的,感觉你这东西,离引擎还差好远啊!

1

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2008-4-28 12:16:00 | 显示全部楼层

Re: Re:个人游戏引擎DogEngine--VZEX

只为源码: Re:个人游戏引擎DogEngine--VZEX

恩,不错.不知道有没有资源管理的部分啊?
2D游戏要有大量的图形资源,游戏进行中动态载入和回收资源,这个不能...

渲染主要是借鉴了hge的模式来写的,cpu和gpu应该分配的比较合理的,另外粒子系统你可以比较一下,我觉得对硬件的利用还是蛮高的,资源管理以后会添加,动态回收资源都有提供的借口的,另外我写的特效只有灰度图转化是用了一次lock的,必要的lock是不能避免的(偶觉得。。。),hge 的渲染思想就是要把lock的次数尽量减少。呵呵,偶还算是个初学者,有建议的话大家尽量提

13

主题

113

帖子

113

积分

注册会员

Rank: 2

积分
113
发表于 2008-4-28 12:22:00 | 显示全部楼层

Re:个人游戏引擎DogEngine--VZEX

看来游戏学院的学生也学了不少东西啊,灰度图其实不用LOCK,可以巧妙的做出来,具体方法保秘

2

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-4-28 12:27:00 | 显示全部楼层

Re:个人游戏引擎DogEngine--VZEX

嘿嘿,楼上小瞧游戏学院了吧,牛人全是从游戏学院出来滴。
偶也晓得灰度图不用LOCK。
另外,不知道LZ这东东有没有光照贴图的功能?能做出像暗黑2那样的光照合成吗?

1

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2008-4-28 16:33:00 | 显示全部楼层

Re:个人游戏引擎DogEngine--VZEX

如果说光照贴图意思是多重纹理的话,我的一个未释放的版本已经有了的,不是的话就不清楚了,麻烦ls解释一下哈
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 15:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表