Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
ShaderTransforms.cs
浏览该文件的文档.
1namespace Engine.Graphics {
2 public class ShaderTransforms {
3 public Matrix[] m_world;
4
6
8
10
12
14
15 public int MaxWorldMatrices => m_world.Length;
16
17 public Matrix[] World => m_world;
18
19 public Matrix View {
20 get => m_view;
21 set => m_view = value;
22 }
23
25 get => m_projection;
26 set => m_projection = value;
27 }
28
30
32
34
35 public ShaderTransforms(int maxWorldMatrices) {
36 m_world = new Matrix[maxWorldMatrices];
37 m_worldView = new Matrix[maxWorldMatrices];
38 m_worldViewProjection = new Matrix[maxWorldMatrices];
39 for (int i = 0; i < maxWorldMatrices; i++) {
43 }
44 }
45
46 public virtual void UpdateMatrices(int count, bool worldView, bool viewProjection, bool worldViewProjection) {
47 if (count < 1
48 || count > MaxWorldMatrices) {
49 throw new ArgumentOutOfRangeException(nameof(count));
50 }
51 if (worldView) {
52 for (int i = 0; i < count; i++) {
54 }
55 }
56 if (viewProjection) {
58 }
59 if (!worldViewProjection) {
60 return;
61 }
62 if (worldView) {
63 for (int j = 0; j < count; j++) {
65 }
66 return;
67 }
68 if (!viewProjection) {
70 }
71 for (int k = 0; k < count; k++) {
73 }
74 }
75 }
76}
virtual void UpdateMatrices(int count, bool worldView, bool viewProjection, bool worldViewProjection)
static void MultiplyRestricted(ref Matrix m1, ref Matrix m2, out Matrix result)
static readonly Matrix Identity