游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2278|回复: 6

HL2源码中关于骨骼动画的实现问题

[复制链接]

3

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2005-12-2 13:36:00 | 显示全部楼层 |阅读模式
绘制骨骼动画的流程如下:
R_StudioDrawDynamicMesh
{
    R_StudioSoftwareProcessMesh
    {
       // 遍历所有的顶点
       for ( int j=0; j < numVertices; ++j )
       {
            ComputeSkinMatrixSSE或者ComputeSkinMatrix
            R_TransformVert
            R_PerformLighting
            meshBuilder.Position3fv(); // 写入顶点位置值
            meshBuilder.Normal3fv();  // 写入顶点法线值
            meshBuilder.TexCoord2fv(); // 写入纹理坐标值
            meshBuilder.AdvanceVertex(); // 移动到下一个顶点
        }
    }
}
以上是本人的一些分析,但是到现在为止尚未找到原始Mesh数据是从那个函数读取的,望请各位高手赐教!

30

主题

569

帖子

569

积分

高级会员

Rank: 4

积分
569
发表于 2005-12-2 15:23:00 | 显示全部楼层

Re:HL2源码中关于骨骼动画的实现问题

原始网格在MODEL_T::SPRITE中,丛VVD文件中读入。骨骼安装和LOD运算后,取相应的网格。具体那个函数没时间给你查。

3

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2005-12-2 16:56:00 | 显示全部楼层

Re:HL2源码中关于骨骼动画的实现问题

骨骼模型的绘制是按照下面的步骤进行的嘛?
// 绘制模型
CBaseShader:raw --> CShaderSystem::DrawSnapshot --> CShaderAPIDX8::BeginPass -->
CMeshDX8::RenderPass --> DrawIndexedPrimitive

30

主题

569

帖子

569

积分

高级会员

Rank: 4

积分
569
发表于 2005-12-2 17:39:00 | 显示全部楼层

Re:HL2源码中关于骨骼动画的实现问题

哎,外行问题,HL2很大,如果你是新手学习将很困难,与其浪费时间,不如研究些简单的东西。
   你说的这些,是渲染器的调用堆栈,跟引擎无关。

13

主题

55

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2005-12-2 22:08:00 | 显示全部楼层

Re:HL2源码中关于骨骼动画的实现问题

同意楼上的

在那篇网上流传甚广的OPENGL基础教程里有说过用 堆栈 实现动画的方法

借鉴思路,不要说GL的东西DX不能用

3

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2005-12-5 13:07:00 | 显示全部楼层

Re:HL2源码中关于骨骼动画的实现问题

我正在考虑用HL2骨骼动画处理方法提高我们公司引擎的执行速度,所以一般的骨骼处理方法俺是了解的!

22

主题

54

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2005-12-7 21:36:00 | 显示全部楼层

Re:HL2源码中关于骨骼动画的实现问题

做一个DEMO程序来说了嘛,说多新手不理解的,用例子来说明问题是最好的了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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