游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3904|回复: 4

OGRE中如何渲染一张当前场景的DepthMap?

[复制链接]

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2008-3-9 17:01:00 | 显示全部楼层 |阅读模式
如题,我看了DeferredShading的例子,按C键可以切换到显示深度,但是好像没有看到设置渲染深度图的代码呀?

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2008-3-9 21:20:00 | 显示全部楼层

Re:OGRE中如何渲染一张当前场景的DepthMap?

//AdaptDepthVS.cg
//取得顶点的深度值,并且插值到PS中去

uniform float4x4 modelViewProj : state.matrix.mvp;
uniform float farclip;  //远裁剪面距离

void main(float4 inPos : POSITION,
     out float4 oPos : POSITION,
     out float oDepth : TEXCOORD0)
{
  float4 OutPos;
  oPos = OutPos = mul(modelViewProj, inPos);
  oDepth = OutPos.w / farclip;
}
//AdaptDepthPs.cg
//将插值的深度转换成颜色
//白色越近,黑色越远。

void main(float4 inDepth : TEXCOORD0,
     out float4 color : COLOR0)
{
  float depthColor = inDepth.r;

  color = float4(depthColor, depthColor, depthColor, 1.0);
}

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2008-3-10 14:32:00 | 显示全部楼层

Re:OGRE中如何渲染一张当前场景的DepthMap?

谢谢!但是如何让场景内所有将被渲染的物体都使用这个材质渲染呢?

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2008-3-10 18:38:00 | 显示全部楼层

Re:OGRE中如何渲染一张当前场景的DepthMap?

自己顶一下,拜托大家帮小弟看看吧~~

0

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2010-6-10 22:31:00 | 显示全部楼层

Re:OGRE中如何渲染一张当前场景的DepthMap?

刚好与你遇到同样的问题,帮顶一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 20:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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