MCPcopy Create free account
hub / github.com/carbonengine/trinity / ApplyUav

Method ApplyUav

trinity/TriVariable.cpp:69–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67}
68
69bool TriVariable::ApplyUav(
70 Tr2ResourceSetDescriptionAL& resourceDesc,
71 Tr2RenderContextEnum::ShaderType stage,
72 uint32_t registerIndex ) const
73{
74 switch( m_type )
75 {
76 case TRIVARIABLE_TEXTURE_RES: {
77 Tr2TextureAL* tex = nullptr;
78 if( m_texture )
79 {
80 tex = m_texture->GetTexture();
81 }
82 if( tex )
83 {
84 return resourceDesc.SetUav( stage, registerIndex, *tex );
85 }
86 else
87 {
88 return resourceDesc.SetUav( stage, registerIndex, Tr2BufferAL() );
89 }
90 break;
91 }
92 case TRIVARIABLE_GPUBUFFER: {
93 Tr2BufferAL* buffer = nullptr;
94 if( m_gpuBuffer )
95 {
96 buffer = m_gpuBuffer->GetGpuBuffer( 0 );
97 }
98 if( buffer )
99 {
100 return resourceDesc.SetUav( stage, registerIndex, *buffer );
101 }
102 else
103 {
104 return resourceDesc.SetUav( stage, registerIndex, Tr2BufferAL() );
105 }
106 break;
107 }
108 default:
109 break;
110 }
111 return resourceDesc.SetUav( stage, registerIndex, Tr2BufferAL() );
112}
113
114void TriVariable::CopyValueToEffect( Tr2RenderContextEnum::ShaderType inputType,
115 unsigned char* destHandle,

Callers

nothing calls this directly

Calls 4

SetUavMethod · 0.80
Tr2BufferALClass · 0.50
GetTextureMethod · 0.45
GetGpuBufferMethod · 0.45

Tested by

no test coverage detected