MCPcopy Create free account
hub / github.com/XiaoBaiiiiii/colmap-pcd / LoadFixedShaders

Method LoadFixedShaders

lib/SiftGPU/ProgramCG.cpp:167–247  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

165
166
167void ShaderBagCG::LoadFixedShaders()
168{
169// s_debug = new ProgramCG( "void main(float4 TexCoord0:TEXCOORD0, out float4 FragColor:COLOR0,"
170// "uniform samplerRECT tex){ gl_FragColor.rg = gl_TexCoord[0].st;}");
171
172 s_gray = new ProgramCG(
173 "void main(float4 TexCoord0 : TEXCOORD0, out float4 FragColor : COLOR0, uniform samplerRECT tex){\n"
174 "float intensity = dot(float3(0.299, 0.587, 0.114), texRECT(tex,TexCoord0.xy ).rgb);\n"
175 "FragColor= float4(intensity, intensity, intensity, 1.0);}" );
176
177
178 s_sampling = new ProgramCG(
179 "void main(float4 TexCoord0 : TEXCOORD0, out float4 FragColor : COLOR0, uniform samplerRECT tex){\n"
180 "float4 cc = texRECT(tex, TexCoord0.xy); FragColor = float4(cc.rg, 0.0, 0.0); }" );
181
182
183 s_zero_pass = new ProgramCG("void main(out float4 FragColor : COLOR0){FragColor = 0;}");
184
185
186 ProgramCG * program;
187 s_margin_copy = program = new ProgramCG(
188 "void main(float4 texCoord0: TEXCOORD0, out float4 FragColor: COLOR0, \n"
189 "uniform samplerRECT tex, uniform float2 truncate){\n"
190 "FragColor = texRECT(tex, min(texCoord0.xy, truncate)); }");
191
192 _param_margin_copy_truncate = cgGetNamedParameter(*program, "truncate");
193
194
195 s_grad_pass = new ProgramCG(
196 "void main (\n"
197 "float4 TexCC : TEXCOORD0, float4 TexLC : TEXCOORD1,\n"
198 "float4 TexRC : TEXCOORD2, float4 TexCD : TEXCOORD3, float4 TexCU : TEXCOORD4,\n"
199 "out float4 FragData0 : COLOR0, uniform samplerRECT tex)\n"
200 "{\n"
201 " float4 v1, v2, gg;\n"
202 " float4 cc = texRECT(tex, TexCC.xy);\n"
203 " gg.x = texRECT(tex, TexLC.xy).r;\n"
204 " gg.y = texRECT(tex, TexRC.xy).r;\n"
205 " gg.z = texRECT(tex, TexCD.xy).r;\n"
206 " gg.w = texRECT(tex, TexCU.xy).r;\n"
207 " float2 dxdy = (gg.yw - gg.xz); \n"
208 " float grad = 0.5*length(dxdy);\n"
209 " float theta = grad==0? 0: atan2(dxdy.y, dxdy.x);\n"
210 " FragData0 = float4(cc.rg, grad, theta);\n"
211 "}\n\0");
212
213
214 if(GlobalUtil::_SupportFP40)
215 {
216 //use the packing mode for cpu list reshape and two orientations
217 if(GlobalUtil::_MaxOrientation != 2) GlobalUtil::_OrientationPack2 = 0;
218
219 LoadOrientationShader();
220
221
222 if(GlobalUtil::_DescriptorPPT) LoadDescriptorShader();
223
224 }else

Callers 1

InitShaderManMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected