gpt4 book ai didi

c++ - Ogre3d/Compositor 相关问题

转载 作者:行者123 更新时间:2023-11-28 03:27:36 24 4
gpt4 key购买 nike

我整天都在试图弄清楚为什么下面的代码不起作用:

我有这个 .compositor 脚本:

compositor BW
{
technique
{
texture rt0 target_width target_height PF_A8R8G8B8

target rt0
{
input previous
}

target_output
{
input none

pass render_quad
{
material BlackAndWhite
input 0 scene
}
}
}
}

. Material 脚本:

vertex_program BW_VP cg
{
source MyShader.cg
entry_point BW_VP
profiles vs_4_0 vs_2_0 vs_1_1 arbvp1

default_params
{
param_named_auto worldViewProj worldviewproj_matrix
}
}

fragment_program BW_FP cg
{
source MyShader.cg
entry_point BW_FP
profiles ps_4_0 ps_2_0 arbfp1
}

material BlackAndWhite
{
technique
{
vertex_program_ref BW_VP{}
fragment_program_ref BW_FP{}

texture_unit
{
texture rt0
tex_coord_set 0
tex_address_mode clamp
filtering none
}
}
}

和一个 .cg 程序:

sampler2D RT : register(s0);

void BW_VP(in float4 inPos : POSITION, out float4 pos : POSITION, out float2 uv0 : TEXCOORD0, uniform float4x4 worldViewProj)
{
pos = mul(worldViewProj, inPos);
inPos.xy = sign(inPos.xy);
uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
}

float4 BW_FP(float4 pos : POSITION, float2 iTexCoord : TEXCOORD0) : COLOR
{
float3 greyscale = dot(tex2D(RT, iTexCoord).rgb, float3(0.3, 0.59, 0.11));
return float4(greyscale, 1.0);
}

我使用下面的语句来初始化合成器:

Ogre::CompositorManager::getSingleton().addCompositor(mViewport, "BW");
Ogre::CompositorManager::getSingleton().setCompositorEnabled(mViewport, "BW", true);

而且我根本看不到任何结果。我的场景中有几个灯光和 cg 着色器 - 它们工作得很好。此外,所有资源都已正确加载,并且资源组会看到每个需要的文件,但是我在日志文件中收到此异常:

OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource rt0 in resource group Mission 1 : Deliver Tom or any other group. in ResourceGroupManager::openResource at D:\ARCHIVES\DEPENDENCIES\OGRE_REPOSITORY\OgreMain\src\OgreResourceGroupManager.cpp (line 756)

AFAIK rt0 不应该是一种资源,因为它是由食人魔“在飞行中”自动生成的。我错过了什么吗?

感谢任何帮助!谢谢!

最佳答案

异常错误是正确的:您没有具有该名称的纹理文件资源,但是 OGRE 将为您创建一个空白纹理。

但是我看到两个问题:

  1. 在合成器文件中什么是场景?您必须使用 rt0 而不是 scene,这是渲染场景的渲染目标,也是您应用 Material 的地方。
  2. Material 脚本中缺少pass语句。

关于c++ - Ogre3d/Compositor 相关问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13530224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com