private glTFLoader.Schema.Image GetImageFromBitmapText(Bitmap bitmap) { byte[] imageBytes = GetImageBytes(bitmap); var textureBuffer = new glTFLoader.Schema.Buffer(); textureBuffer.Uri = Constants.TextBufferHeader + Convert.ToBase64String(imageBytes); textureBuffer.ByteLength = imageBytes.Length; int textureBufferIdx = dummy.Buffers.AddAndReturnIndex(textureBuffer); // Create bufferviews var textureBufferView = new glTFLoader.Schema.BufferView() { Buffer = textureBufferIdx, ByteOffset = 0, ByteLength = textureBuffer.ByteLength, }; int textureBufferViewIdx = dummy.BufferViews.AddAndReturnIndex(textureBufferView); return(new glTFLoader.Schema.Image() { BufferView = textureBufferViewIdx, MimeType = glTFLoader.Schema.Image.MimeTypeEnum.image_png, }); }
private glTFLoader.Schema.Image GetImageFromFileText(string fileName) { byte[] imageBytes = GetImageBytesFromFile(fileName); var textureBuffer = new glTFLoader.Schema.Buffer() { Uri = Constants.TextBufferHeader + Convert.ToBase64String(imageBytes), ByteLength = imageBytes.Length, }; int textureBufferIdx = dummy.Buffers.AddAndReturnIndex(textureBuffer); var textureBufferView = new glTFLoader.Schema.BufferView() { Buffer = textureBufferIdx, ByteOffset = 0, ByteLength = textureBuffer.ByteLength, }; int textureBufferViewIdx = dummy.BufferViews.AddAndReturnIndex(textureBufferView); return(new glTFLoader.Schema.Image() { BufferView = textureBufferViewIdx, MimeType = glTFLoader.Schema.Image.MimeTypeEnum.image_png, }); }
int GetVertexColorBuffer(MeshVertexColorList vertexColors, out Color4f min, out Color4f max, out int byteLength) { byte[] bytes = GetVertexColorBytes(vertexColors, out min, out max); glTFLoader.Schema.Buffer vertexColorsBuffer = new glTFLoader.Schema.Buffer() { Uri = Constants.TextBufferHeader + Convert.ToBase64String(bytes), ByteLength = bytes.Length, }; byteLength = bytes.Length; return(dummy.Buffers.AddAndReturnIndex(vertexColorsBuffer)); }
int GetTextureCoordinatesBuffer(MeshTextureCoordinateList textureCoordinates, out Point2f min, out Point2f max, out int byteLength) { byte[] bytes = GetTextureCoordinatesBytes(textureCoordinates, out min, out max); glTFLoader.Schema.Buffer textureCoordinatesBuffer = new glTFLoader.Schema.Buffer() { Uri = Constants.TextBufferHeader + Convert.ToBase64String(bytes), ByteLength = bytes.Length, }; byteLength = bytes.Length; return(dummy.Buffers.AddAndReturnIndex(textureCoordinatesBuffer)); }
int GetNormalsBuffer(MeshVertexNormalList normals, out Vector3f min, out Vector3f max, out int byteLength) { byte[] bytes = GetNormalsBytes(normals, out min, out max); byteLength = bytes.Length; glTFLoader.Schema.Buffer normalBuffer = new glTFLoader.Schema.Buffer() { Uri = Constants.TextBufferHeader + Convert.ToBase64String(bytes), ByteLength = bytes.Length, }; return(dummy.Buffers.AddAndReturnIndex(normalBuffer)); }
private int GetIndicesBuffer(MeshFaceList faces, out int indicesCount, out int byteLength) { byte[] bytes = GetIndicesBytes(faces, out indicesCount); byteLength = bytes.Length; glTFLoader.Schema.Buffer indicesBuffer = new glTFLoader.Schema.Buffer() { Uri = Constants.TextBufferHeader + Convert.ToBase64String(bytes), ByteLength = bytes.Length, }; return(dummy.Buffers.AddAndReturnIndex(indicesBuffer)); }
private int GetVertexBuffer(MeshVertexList vertices, out Point3d min, out Point3d max, out int length) { byte[] bytes = GetVertexBytes(vertices, out min, out max); length = bytes.Length; glTFLoader.Schema.Buffer buffer = new glTFLoader.Schema.Buffer() { Uri = Constants.TextBufferHeader + Convert.ToBase64String(bytes), ByteLength = length, }; return(dummy.Buffers.AddAndReturnIndex(buffer)); }
public void WriteDracoBytes(byte[] bytes, out int bufferIndex, out int byteOffset, out int byteLength) { byteLength = bytes.Length; if (binary) { byteOffset = (int)binaryBuffer.Count; binaryBuffer.AddRange(bytes); bufferIndex = 0; } else { glTFLoader.Schema.Buffer buffer = new glTFLoader.Schema.Buffer() { Uri = Constants.TextBufferHeader + Convert.ToBase64String(bytes), ByteLength = bytes.Length, }; bufferIndex = dummy.Buffers.AddAndReturnIndex(buffer); byteOffset = 0; } }