游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1840|回复: 3

自己引擎中的几个小问题,帮忙看一下。

[复制链接]

45

主题

126

帖子

126

积分

注册会员

Rank: 2

积分
126
发表于 2009-4-30 20:20:00 | 显示全部楼层 |阅读模式
这是几个月以来,在《3D游戏引擎编程》的ZFXEngine的帮助下我开始写我自己的引擎(我称之为Realm Engine) 。现在,我已经完成了几个小模块。但是,有4个问题,来寻找帮助。
1 。当我使用语句SetView3D ( )或SetViewLookAt ( )来设置相机时,它不工作,甚至在改变vRight,vUp,vPos等vector后还是不工作。
更坏的是用D3DXMatrixLookAtLH ( )都不起作用, 但就是不晓得什么地方设置错了。

2 。我想画一个三角形,但如果我设置顶点的Z坐标小于0.0f或大于1.0f的话 ,它就消失了.我晓得是被剪裁了,但我设置的切割平面是1.0f --- 1000.0f,使用SetClipPlanes ( 1.0f , 1000.0f ) ;

3 。当我尝试画一个球的时候,却出现了一个椭圆,在X轴上被拉伸了。只能用ScaleWorldMatrix().上次在CSDN问了一下,没有好的结果。我的BackBuffer的宽高比很正常。

4 。当我给一个三角形加纹理的时候,纹理看起来有点模糊,就是材质的颜色看起来很浓,但我在其他程序中用的很正常。

这四个问题困扰我两个星期,但我解决不了。



晓得这几个问题都很简单,大家肯定会想我基础不怎么够就梦想做引擎。其实不是的,我是边做边学,就是纯粹的学习,没什么目的的。

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-5-1 00:30:00 | 显示全部楼层

Re:自己引擎中的几个小问题,帮忙看一下。

没用过ZFXEngine,下面都是我的猜测

1. 这个问题估计只有你一步步debug才能解决,检查设置的值是否更新了,是否有编码的逻辑错误
2. 用camera的projection matrix来设置远近裁剪平面
3. 球体被投影到非均匀(1:1)的平面上,肯定会变成椭圆
4. 使用包含mipmap的纹理

45

主题

126

帖子

126

积分

注册会员

Rank: 2

积分
126
 楼主| 发表于 2009-5-1 17:17:00 | 显示全部楼层

Re:自己引擎中的几个小问题,帮忙看一下。

1.我会自己慢慢调的
2.Projection matrix是我自己算的,SetClipPlanes()就相当于先设置了远近剪裁面m_fFar,m_fNear。
          float sinFov2=sinf(fFov/2);
        float cosFov2=cosf(fFov/2);
        float w=fAspect*(cosFov2/sinFov2);
        float h=(cosFov2/sinFov2);
        float q=m_fFar/(m_fFar-m_fNear);
        memset(mat,0,sizeof(RealmMatrix));
        (*mat)._11=w;
        (*mat)._22=h;
        (*mat)._33=q;
        (*mat)._34=1.0f;
        (*mat)._43=-q*m_fNear;
有问题吗?
3.哦,但是在程序中设置的三角形(-1,0,0),(-1,1,0),(1,0,0) ,事后我截图量过了,宽高比不是2:1啊,而是比2:1要大,也就是说三角形也被拉伸了,然道是和球体一样的原因被拉伸了。那要怎么解决呢?
4.我试下。

45

主题

126

帖子

126

积分

注册会员

Rank: 2

积分
126
 楼主| 发表于 2009-5-1 21:05:00 | 显示全部楼层

Re:自己引擎中的几个小问题,帮忙看一下。

经过调试,我解决了前两个问题,是每Render()一次就设置一次View,Proj矩阵才能解决。
但是第3个和第4个就是没办法解决。另外Clayman大哥说的设置MIPMAP我原先就是设置了MIPMAP线性过滤的,但还是渲染出来有种灰蒙蒙的感觉,就是本来很鲜艳的图案渲染出来灰蒙蒙的。
不晓得要怎么样贴图片上来。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 11:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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