mirror of
https://github.com/UOH-CS-Level5/551455-graphics-programming-2526-the-repo-Zyb3rWolfi.git
synced 2025-11-29 00:43:08 +00:00
Compare commits
2 Commits
beb8c2460e
...
315273e0ec
| Author | SHA1 | Date | |
|---|---|---|---|
| 315273e0ec | |||
| 78b2d5dbb7 |
@ -5,6 +5,8 @@ using OpenTK.Mathematics;
|
|||||||
public class MyMatrix
|
public class MyMatrix
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private float[,] elements = new float[4, 4];
|
||||||
|
|
||||||
public MyMatrix(float pRow0Column0,
|
public MyMatrix(float pRow0Column0,
|
||||||
float pRow0Column1,
|
float pRow0Column1,
|
||||||
float pRow0Column2,
|
float pRow0Column2,
|
||||||
@ -22,28 +24,58 @@ public class MyMatrix
|
|||||||
float pRow3Column2,
|
float pRow3Column2,
|
||||||
float pRow3Column3)
|
float pRow3Column3)
|
||||||
{
|
{
|
||||||
|
// row 0
|
||||||
|
SetElement(0, 0, pRow0Column0);
|
||||||
|
SetElement(0, 1, pRow0Column1);
|
||||||
|
SetElement(0, 2, pRow0Column2);
|
||||||
|
SetElement(0, 3, pRow0Column3);
|
||||||
|
|
||||||
|
// row 1
|
||||||
|
SetElement(1, 0, pRow1Column0);
|
||||||
|
SetElement(1, 1, pRow1Column1);
|
||||||
|
SetElement(1, 2, pRow1Column2);
|
||||||
|
SetElement(1, 3, pRow1Column3);
|
||||||
|
|
||||||
|
// row 2
|
||||||
|
SetElement(2, 0, pRow2Column0);
|
||||||
|
SetElement(2, 1, pRow2Column1);
|
||||||
|
SetElement(2, 2, pRow2Column2);
|
||||||
|
SetElement(2, 3, pRow2Column3);
|
||||||
|
|
||||||
|
// row 3
|
||||||
|
SetElement(3, 0, pRow3Column0);
|
||||||
|
SetElement(3, 1, pRow3Column1);
|
||||||
|
SetElement(3, 2, pRow3Column2);
|
||||||
|
SetElement(3, 3, pRow3Column3);
|
||||||
}
|
}
|
||||||
|
|
||||||
public float GetElement(int pRow, int pColumn)
|
public float GetElement(int pRow, int pColumn)
|
||||||
{
|
{
|
||||||
return -1;
|
return elements[pRow, pColumn];
|
||||||
}
|
}
|
||||||
public void SetElement(int pRow, int pColumn, float pValue)
|
public void SetElement(int pRow, int pColumn, float pValue)
|
||||||
{
|
{
|
||||||
|
elements[pRow, pColumn] = pValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static MyMatrix CreateIdentity()
|
public static MyMatrix CreateIdentity()
|
||||||
{
|
{
|
||||||
return null;
|
return new MyMatrix(
|
||||||
|
1, 0, 0, 0,
|
||||||
|
0, 1, 0, 0,
|
||||||
|
0, 0, 1, 0,
|
||||||
|
0, 0, 0, 1
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MyMatrix CreateTranslation(MyVector pTranslation)
|
public static MyMatrix CreateTranslation(MyVector pTranslation)
|
||||||
{
|
{
|
||||||
return null;
|
return new MyMatrix(1f, 0f, 0f, 0f,
|
||||||
|
0f, 1f, 0f, 0f,
|
||||||
|
0f, 0f, 1f, 0f,
|
||||||
|
pTranslation.X, pTranslation.Y, pTranslation.Z, 1f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MyMatrix CreateScale(MyVector pScale)
|
public static MyMatrix CreateScale(MyVector pScale)
|
||||||
@ -85,7 +117,12 @@ public class MyMatrix
|
|||||||
// this looks a little odd as the OpenTK Matrix4 constructor takes the elements in row major order
|
// this looks a little odd as the OpenTK Matrix4 constructor takes the elements in row major order
|
||||||
public Matrix4 ToMatrix4()
|
public Matrix4 ToMatrix4()
|
||||||
{
|
{
|
||||||
return Matrix4.Identity;
|
return new Matrix4(
|
||||||
|
GetElement(0,0), GetElement(0,1), GetElement(0,2), GetElement(0,3),
|
||||||
|
GetElement(1,0), GetElement(1,1), GetElement(1,2), GetElement(1,3),
|
||||||
|
GetElement(2,0), GetElement(2,1), GetElement(2,2), GetElement(2,3),
|
||||||
|
GetElement(3,0), GetElement(3,1), GetElement(3,2), GetElement(3,3)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user