Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetValueMatrix()

unsafe Matrix Microsoft.Xna.Framework.Graphics.EffectParameter.GetValueMatrix ( )
inline

Definition at line 2309 of file EffectParameter.cs.

2310 {
2311 Matrix result = default(Matrix);
2312 ID3DXBaseEffect* ptr;
2313 if (pElementCollection.Count == 0)
2314 {
2315 switch (_paramClass)
2316 {
2317 case EffectParameterClass.Scalar:
2318 {
2319 ptr = pEffect;
2320 System.Runtime.CompilerServices.Unsafe.SkipInit(out float num);
2321 int num2 = ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, sbyte*, float*, int>)(int)(*(uint*)(*(int*)ptr + 124)))((nint)ptr, _handle, &num);
2322 if (num2 < 0)
2323 {
2324 throw GraphicsHelpers.GetExceptionFromResult((uint)num2);
2325 }
2326 result.M14 = num;
2327 result.M13 = num;
2328 result.M12 = num;
2329 result.M11 = num;
2330 result.M24 = num;
2331 result.M23 = num;
2332 result.M22 = num;
2333 result.M21 = num;
2334 result.M34 = num;
2335 result.M33 = num;
2336 result.M32 = num;
2337 result.M31 = num;
2338 result.M44 = num;
2339 result.M43 = num;
2340 result.M42 = num;
2341 result.M41 = num;
2342 return result;
2343 }
2344 default:
2345 throw new InvalidCastException();
2346 case EffectParameterClass.Matrix:
2347 break;
2348 }
2349 }
2350 ptr = pEffect;
2351 int num3 = ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, sbyte*, D3DXMATRIX*, int>)(int)(*(uint*)(*(int*)ptr + 156)))((nint)ptr, _handle, (D3DXMATRIX*)(&result));
2352 if (num3 < 0)
2353 {
2354 throw GraphicsHelpers.GetExceptionFromResult((uint)num3);
2355 }
2356 return result;
2357 }

References Microsoft.Xna.Framework.Graphics.EffectParameter._handle, Microsoft.Xna.Framework.Graphics.EffectParameter._paramClass, Microsoft.Xna.Framework.Graphics.EffectParameterCollection.Count, Microsoft.Xna.Framework.Graphics.GraphicsHelpers.GetExceptionFromResult(), Microsoft.Xna.Framework.Graphics.EffectParameter.pEffect, and Microsoft.Xna.Framework.Graphics.EffectParameter.pElementCollection.

Referenced by Microsoft.Xna.Framework.Graphics.EffectParameter.GetValueBooleanArray(), Microsoft.Xna.Framework.Graphics.EffectParameter.GetValueInt32Array(), Microsoft.Xna.Framework.Graphics.EffectAnnotation.GetValueMatrix(), Microsoft.Xna.Framework.Graphics.EffectParameter.GetValueSingleArray(), Microsoft.Xna.Framework.Graphics.EffectParameter.SetValue(), Microsoft.Xna.Framework.Graphics.EffectParameter.SetValue(), and Microsoft.Xna.Framework.Graphics.EffectParameter.SetValue().