Esempio n. 1
0
        private static object loadCompositingMode(
            ref DataInputStream @in,
            ref List <Object3D> objectList,
            ref List <Object3D> rootObjectList)
        {
            CompositingMode compositingMode = new CompositingMode();

            Loader.loadObject3D((Object3D)compositingMode, ref @in, ref objectList, ref rootObjectList);
            bool  enable1   = @in.readBoolean();
            bool  enable2   = @in.readBoolean();
            bool  enable3   = @in.readBoolean();
            bool  enable4   = @in.readBoolean();
            int   mode      = @in.readUnsignedByte();
            float threshold = (float)@in.readUnsignedByte() / (float)byte.MaxValue;
            float factor    = Loader.readFloatLE(ref @in);
            float units     = Loader.readFloatLE(ref @in);

            compositingMode.setDepthTestEnable(enable1);
            compositingMode.setDepthWriteEnable(enable2);
            compositingMode.setColorWriteEnable(enable3);
            compositingMode.setAlphaWriteEnable(enable4);
            compositingMode.setBlending(mode);
            compositingMode.setAlphaThreshold(threshold);
            compositingMode.setDepthOffset(factor, units);
            return((object)compositingMode);
        }
Esempio n. 2
0
        private static void loadNode(
            Node @object,
            ref DataInputStream @in,
            ref List <Object3D> objectList,
            ref List <Object3D> rootObjectList)
        {
            Loader.loadTransformable((Transformable)@object, ref @in, ref objectList, ref rootObjectList);
            bool enable1 = @in.readBoolean();
            bool enable2 = @in.readBoolean();
            int  num     = @in.readUnsignedByte();
            int  scope   = @in.readInt();

            if (@in.readBoolean())
            {
                @in.readUnsignedByte();
                @in.readUnsignedByte();
                List <Object3D> rootObjectList1 = (List <Object3D>)null;
                Loader.getReference(ref @in, ref objectList, ref rootObjectList1);
                rootObjectList1 = (List <Object3D>)null;
                Loader.getReference(ref @in, ref objectList, ref rootObjectList1);
            }
            @object.setRenderingEnable(enable1);
            @object.setPickingEnable(enable2);
            @object.setAlphaFactor((float)num / (float)byte.MaxValue);
            @object.setScope(scope);
        }
Esempio n. 3
0
 public override void readPacketData(DataInputStream datainputstream)
 {
     field_22035_a = datainputstream.readFloat();
     field_22034_b = datainputstream.readFloat();
     field_22037_e = datainputstream.readFloat();
     field_22036_f = datainputstream.readFloat();
     field_22039_c = datainputstream.readBoolean();
     field_22038_d = datainputstream.readBoolean();
 }
Esempio n. 4
0
        private static object loadPolygonMode(
            ref DataInputStream @in,
            ref List <Object3D> objectList,
            ref List <Object3D> rootObjectList)
        {
            PolygonMode polygonMode = new PolygonMode();

            Loader.loadObject3D((Object3D)polygonMode, ref @in, ref objectList, ref rootObjectList);
            int  mode1   = @in.readUnsignedByte();
            int  mode2   = @in.readUnsignedByte();
            int  mode3   = @in.readUnsignedByte();
            bool enable1 = @in.readBoolean();
            bool enable2 = @in.readBoolean();
            bool enable3 = @in.readBoolean();

            polygonMode.setCulling(mode1);
            polygonMode.setShading(mode2);
            polygonMode.setWinding(mode3);
            polygonMode.setTwoSidedLightingEnable(enable1);
            polygonMode.setLocalCameraLightingEnable(enable2);
            polygonMode.setPerspectiveCorrectionEnable(enable3);
            return((object)polygonMode);
        }
Esempio n. 5
0
        private static void loadTransformable(
            Transformable @object,
            ref DataInputStream @in,
            ref List <Object3D> objectList,
            ref List <Object3D> rootObjectList)
        {
            Loader.loadObject3D((Object3D)@object, ref @in, ref objectList, ref rootObjectList);
            if (@in.readBoolean())
            {
                float x1 = Loader.readFloatLE(ref @in);
                float y1 = Loader.readFloatLE(ref @in);
                float z1 = Loader.readFloatLE(ref @in);
                @object.setTranslation(x1, y1, z1);
                float sx = Loader.readFloatLE(ref @in);
                float sy = Loader.readFloatLE(ref @in);
                float sz = Loader.readFloatLE(ref @in);
                @object.setScale(sx, sy, sz);
                float degrees = Loader.readFloatLE(ref @in);
                float x2      = Loader.readFloatLE(ref @in);
                float y2      = Loader.readFloatLE(ref @in);
                float z2      = Loader.readFloatLE(ref @in);
                @object.setOrientation(degrees, x2, y2, z2);
            }
            if ([email protected]())
            {
                return;
            }
            float[] matrix = new float[16];
            for (int index = 0; index < 16; ++index)
            {
                matrix[index] = Loader.readFloatLE(ref @in);
            }
            Transform transform = new Transform();

            transform.set(matrix);
            @object.setTransform(transform);
        }
Esempio n. 6
0
        private static object loadImage2D(
            ref DataInputStream @in,
            ref List <Object3D> objectList,
            ref List <Object3D> rootObjectList)
        {
            Image2D image2D = new Image2D();

            Loader.loadObject3D((Object3D)image2D, ref @in, ref objectList, ref rootObjectList);
            int  format = @in.readUnsignedByte();
            bool flag   = @in.readBoolean();
            int  width  = Loader.readIntLE(ref @in);
            int  height = Loader.readIntLE(ref @in);

            image2D.set(format, width, height);
            if (!flag)
            {
                sbyte[] numArray1 = (sbyte[])null;
                int     length    = Loader.readIntLE(ref @in);
                if (length > 0)
                {
                    numArray1 = new sbyte[length];
                    @in.readFully(numArray1);
                }
                int     len       = Loader.readIntLE(ref @in);
                sbyte[] numArray2 = new sbyte[len];
                @in.readFully(numArray2, len);
                if (numArray1 != null)
                {
                    image2D.commit(numArray1, numArray2);
                }
                else
                {
                    byte[] pixels = new byte[numArray2.Length];
                    Buffer.BlockCopy((Array)numArray2, 0, (Array)pixels, 0, numArray2.Length);
                    image2D.commit(pixels);
                }
            }
            return((object)image2D);
        }
Esempio n. 7
0
        private static bool loadObject(
            ref DataInputStream @in,
            ref List <Object3D> objectList,
            ref List <Object3D> rootObjectList)
        {
            int num = @in.read();

            if (num == -1)
            {
                return(false);
            }
            int length = Loader.readIntLE(ref @in);

            sbyte[] numArray = new sbyte[length];
            @in.readFully(numArray, length);
            DataInputStream in1 = new DataInputStream((InputStream) new ByteArrayInputStream(numArray, length));
            object          obj = (object)null;

            switch (num)
            {
            case 0:
                in1.readUnsignedByte();
                in1.readUnsignedByte();
                in1.readBoolean();
                Loader.readIntLE(ref in1);
                Loader.readIntLE(ref in1);
                break;

            case 1:
                obj = Loader.loadAnimationController(ref in1, ref objectList, ref rootObjectList);
                break;

            case 2:
                obj = Loader.loadAnimationTrack(ref in1, ref objectList, ref rootObjectList);
                break;

            case 3:
                obj = Loader.loadAppearance(ref in1, ref objectList, ref rootObjectList);
                break;

            case 5:
                obj = Loader.loadCamera(ref in1, ref objectList, ref rootObjectList);
                break;

            case 6:
                obj = Loader.loadCompositingMode(ref in1, ref objectList, ref rootObjectList);
                break;

            case 8:
                obj = Loader.loadPolygonMode(ref in1, ref objectList, ref rootObjectList);
                break;

            case 9:
                obj = (object)new Group();
                Loader.loadGroup((Group)obj, ref in1, ref objectList, ref rootObjectList);
                break;

            case 10:
                obj = Loader.loadImage2D(ref in1, ref objectList, ref rootObjectList);
                break;

            case 11:
                obj = Loader.loadTriangleStripArray(ref in1, ref objectList, ref rootObjectList);
                break;

            case 14:
                obj = (object)new Mesh();
                Loader.loadMesh((Mesh)obj, ref in1, ref objectList, ref rootObjectList);
                break;

            case 16:
                obj = Loader.loadSkinnedMesh(ref in1, ref objectList, ref rootObjectList);
                break;

            case 17:
                obj = Loader.loadTexture2D(ref in1, ref objectList, ref rootObjectList);
                break;

            case 19:
                obj = Loader.loadKeyframeSequence(ref in1, ref objectList, ref rootObjectList);
                break;

            case 20:
                obj = Loader.loadVertexArray(ref in1, ref objectList, ref rootObjectList);
                break;

            case 21:
                obj = Loader.loadVertexBuffer(ref in1, ref objectList, ref rootObjectList);
                break;

            case 22:
                obj = Loader.loadWorld(ref in1, ref objectList, ref rootObjectList);
                break;
            }
            objectList.Add((Object3D)obj);
            if (obj != null)
            {
                rootObjectList.Add((Object3D)obj);
            }
            return(true);
        }