public QbModel read(string path) { StopwatchUtil.startclient("regularqbread", "Begin SVP read"); QbModel model = _read(path); model.GenerateVertexBuffers(); model.FillVertexBuffers(); StopwatchUtil.stopclient("regularqbread", "End SVP read"); return(model); }
public override void onclientrecieve(NetIncomingMessage message) { Client.print("info", "Recieve qb packet"); StopwatchUtil.startclient("qbpacket", "Building qb model"); int junk = message.ReadInt32(); QbModel model = new QbModel(message.ReadString()); int matrixcount = message.ReadInt32(); model.setmatrixcount((uint)matrixcount); foreach (var m in model.matrices) { m.name = message.ReadString(); m.position = new OpenTK.Vector3(message.ReadFloat(), message.ReadFloat(), message.ReadFloat()); m.setsize((int)message.ReadFloat(), (int)message.ReadFloat(), (int)message.ReadFloat()); int colorcount = message.ReadInt32(); for (int i = 0; i < colorcount; i++) { m.GetColorIndex(message.ReadFloat(), message.ReadFloat(), message.ReadFloat()); } int voxelcount = message.ReadInt32(); for (int i = 0; i < voxelcount; i++) { int colorindex = message.ReadInt32(); byte alphamask = message.ReadByte(); int x = message.ReadInt32(); int y = message.ReadInt32(); int z = message.ReadInt32(); m.voxels.GetOrAdd(m.GetHash(x, y, z), new Voxel((short)x, (short)y, (short)z, alphamask, (short)colorindex)); } } Client.OpenGLContextThread.Add(() => { model.GenerateVertexBuffers(); model.FillVertexBuffers(); Singleton <QbManager> .INSTANCE.AddModel(model); StopwatchUtil.stopclient("qbpacket", "End building qb model"); }); base.onclientrecieve(message); }
public override void onclientrecieve(NetIncomingMessage message) { Client.print("info", "Recieve qb packet"); StopwatchUtil.startclient("qbpacket", "Building qb model"); int junk = message.ReadInt32(); QbModel model = new QbModel(message.ReadString()); int matrixcount = message.ReadInt32(); model.setmatrixcount((uint)matrixcount); foreach (var m in model.matrices) { m.name = message.ReadString(); m.position = new OpenTK.Vector3(message.ReadFloat(), message.ReadFloat(), message.ReadFloat()); m.setsize((int)message.ReadFloat(), (int)message.ReadFloat(), (int)message.ReadFloat()); int colorcount = message.ReadInt32(); for (int i = 0; i < colorcount; i++) { m.GetColorIndex(message.ReadFloat(), message.ReadFloat(), message.ReadFloat()); } int voxelcount = message.ReadInt32(); for (int i = 0; i < voxelcount; i++) { int colorindex = message.ReadInt32(); byte alphamask = message.ReadByte(); int x = message.ReadInt32(); int y = message.ReadInt32(); int z = message.ReadInt32(); m.voxels.GetOrAdd(m.GetHash(x, y, z), new Voxel((short)x, (short)y, (short)z, alphamask, (short)colorindex)); } } Client.OpenGLContextThread.Add(() => { model.GenerateVertexBuffers(); model.FillVertexBuffers(); Singleton<QbManager>.INSTANCE.AddModel(model); StopwatchUtil.stopclient("qbpacket", "End building qb model"); }); base.onclientrecieve(message); }
public static QbModel EmptyModel() { QbModel model = new QbModel(); model.version = 257; model.zAxisOrientation = 1; model.visibilityMaskEncoded = 1; model.setmatrixcount(1); model.name = "default"; model.matrices[0].name = "default"; model.matrices[0].setsize(15, 15, 15, true); model.GenerateVertexBuffers(); return(model); }
public static QbModel EmptyModel() { QbModel model = new QbModel(); model.version = 257; model.zAxisOrientation = 1; model.visibilityMaskEncoded = 1; model.setmatrixcount(1); model.name = "default"; model.matrices[0].name = "default"; model.matrices[0].setsize(15, 15, 15, true); model.GenerateVertexBuffers(); return model; }