void GenerateBackgridVBO() { Vector3[] vecs = new Vector3[4]; uint[] inds = new uint[4]; Vector3[] norms = new Vector3[4]; Vector3[] texs = new Vector3[4]; Vector4[] cols = new Vector4[4]; for (uint u = 0; u < 4; u++) { inds[u] = u; } for (int n = 0; n < 4; n++) { norms[n] = new Vector3(0, 0, 1); } for (int c = 0; c < 4; c++) { cols[c] = new Vector4(1, 1, 1, 1); } Vector4[] BoneIDs = new Vector4[4]; Vector4[] BoneWeights = new Vector4[4]; for (int n = 0; n < 4; n++) { BoneIDs[n] = new Vector4(0, 0, 0, 0); BoneWeights[n] = new Vector4(0, 0, 0, 0); } vecs[0] = new Vector3(10000, -10000, 0); texs[0] = new Vector3(1000, -1000, 0); vecs[1] = new Vector3(10000, 10000, 0); texs[1] = new Vector3(1000, 1000, 0); vecs[2] = new Vector3(-10000, 10000, 0); texs[2] = new Vector3(-1000, 1000, 0); vecs[3] = new Vector3(-10000, -10000, 0); texs[3] = new Vector3(-1000, -1000, 0); Backgrid = new VBO(); Backgrid.Vertices = vecs.ToList(); Backgrid.Indices = inds.ToList(); Backgrid.Normals = norms.ToList(); Backgrid.TexCoords = texs.ToList(); Backgrid.Colors = cols.ToList(); Backgrid.BoneIDs = BoneIDs.ToList(); Backgrid.BoneWeights = BoneWeights.ToList(); Backgrid.GenerateVBO(); }
void GenerateLineVBO() { Vector3[] vecs = new Vector3[2]; uint[] inds = new uint[2]; Vector3[] norms = new Vector3[2]; Vector3[] texs = new Vector3[2]; Vector4[] cols = new Vector4[2]; for (uint u = 0; u < 2; u++) { inds[u] = u; } for (int n = 0; n < 2; n++) { norms[n] = new Vector3(0, 0, 1); } for (int c = 0; c < 2; c++) { cols[c] = new Vector4(1, 1, 1, 1); } Vector4[] BoneIDs = new Vector4[2]; Vector4[] BoneWeights = new Vector4[2]; for (int n = 0; n < 2; n++) { BoneIDs[n] = new Vector4(0, 0, 0, 0); BoneWeights[n] = new Vector4(0, 0, 0, 0); } vecs[0] = new Vector3(0, 0, 0); texs[0] = new Vector3(0, 0, 0); vecs[1] = new Vector3(1, 0, 0); texs[1] = new Vector3(1, 0, 0); Line = new VBO(); Line.Vertices = vecs.ToList(); Line.Indices = inds.ToList(); Line.Normals = norms.ToList(); Line.TexCoords = texs.ToList(); Line.Colors = cols.ToList(); Line.BoneIDs = BoneIDs.ToList(); Line.BoneWeights = BoneWeights.ToList(); Line.GenerateVBO(); }
void GenerateBoxVBO() { // TODO: Optimize? Vector3[] vecs = new Vector3[24]; uint[] inds = new uint[24]; Vector3[] norms = new Vector3[24]; Vector3[] texs = new Vector3[24]; Vector4[] cols = new Vector4[24]; for (uint u = 0; u < 24; u++) { inds[u] = u; } for (int t = 0; t < 24; t++) { texs[t] = new Vector3(0, 0, 0); } for (int n = 0; n < 24; n++) { norms[n] = new Vector3(0, 0, 1); // TODO: Accurate normals somehow? Do lines even have normals? } for (int c = 0; c < 24; c++) { cols[c] = new Vector4(1, 1, 1, 1); } Vector4[] BoneIDs = new Vector4[24]; Vector4[] BoneWeights = new Vector4[24]; for (int n = 0; n < 24; n++) { BoneIDs[n] = new Vector4(0, 0, 0, 0); BoneWeights[n] = new Vector4(0, 0, 0, 0); } int i = 0; int zero = -1; // Ssh. vecs[i] = new Vector3(zero, zero, zero); i++; vecs[i] = new Vector3(1, zero, zero); i++; vecs[i] = new Vector3(1, zero, zero); i++; vecs[i] = new Vector3(1, 1, zero); i++; vecs[i] = new Vector3(1, 1, zero); i++; vecs[i] = new Vector3(zero, 1, zero); i++; vecs[i] = new Vector3(zero, 1, zero); i++; vecs[i] = new Vector3(zero, zero, zero); i++; vecs[i] = new Vector3(zero, zero, 1); i++; vecs[i] = new Vector3(1, zero, 1); i++; vecs[i] = new Vector3(1, zero, 1); i++; vecs[i] = new Vector3(1, 1, 1); i++; vecs[i] = new Vector3(1, 1, 1); i++; vecs[i] = new Vector3(zero, 1, 1); i++; vecs[i] = new Vector3(zero, 1, 1); i++; vecs[i] = new Vector3(zero, zero, 1); i++; vecs[i] = new Vector3(zero, zero, zero); i++; vecs[i] = new Vector3(zero, zero, 1); i++; vecs[i] = new Vector3(1, zero, zero); i++; vecs[i] = new Vector3(1, zero, 1); i++; vecs[i] = new Vector3(1, 1, zero); i++; vecs[i] = new Vector3(1, 1, 1); i++; vecs[i] = new Vector3(zero, 1, zero); i++; vecs[i] = new Vector3(zero, 1, 1); i++; Box = new VBO(); Box.Vertices = vecs.ToList(); Box.Indices = inds.ToList(); Box.Normals = norms.ToList(); Box.TexCoords = texs.ToList(); Box.Colors = cols.ToList(); Box.BoneIDs = BoneIDs.ToList(); Box.BoneWeights = BoneWeights.ToList(); Box.GenerateVBO(); }
public void GenerateVBO() { vbo.GenerateVBO(); }