Exemplo n.º 1
0
        private static object loadAppearance(
            ref DataInputStream @in,
            ref List <Object3D> objectList,
            ref List <Object3D> rootObjectList)
        {
            Appearance appearance = new Appearance();

            Loader.loadObject3D((Object3D)appearance, ref @in, ref objectList, ref rootObjectList);
            sbyte num1 = (sbyte)@in.readUnsignedByte();

            appearance.setLayer((int)num1);
            CompositingMode reference1 = (CompositingMode)Loader.getReference(ref @in, ref objectList, ref rootObjectList);

            appearance.setCompositingMode(reference1);
            Fog reference2 = (Fog)Loader.getReference(ref @in, ref objectList, ref rootObjectList);

            appearance.setFog(reference2);
            PolygonMode reference3 = (PolygonMode)Loader.getReference(ref @in, ref objectList, ref rootObjectList);

            appearance.setPolygonMode(reference3);
            Material reference4 = (Material)Loader.getReference(ref @in, ref objectList, ref rootObjectList);

            appearance.setMaterial(reference4);
            int num2 = Loader.readIntLE(ref @in);

            for (int index = 0; index < num2; ++index)
            {
                Texture2D reference5 = (Texture2D)Loader.getReference(ref @in, ref objectList, ref rootObjectList);
                appearance.setTexture(index, reference5);
            }
            return((object)appearance);
        }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
0
        public RenderNode(Node n, int submeshIndex, ref Transform t, bool skinning)
        {
            this.renderNode         = (Node)null;
            this.compositeTransform = (Transform)null;
            this.m_layer            = 0;
            this.m_blending         = 68;
            this.m_appearance       = (AppearanceBase)null;
            this.m_indexBuffer      = (IndexBuffer)null;
            this.m_vertexBuffer     = (VertexBuffer)null;
            this.m_isSkinning       = skinning;
            if (n == null)
            {
                return;
            }
            Mesh mesh = (Mesh)n;

            if (mesh == null)
            {
                return;
            }
            AppearanceBase appearance  = (AppearanceBase)mesh.getAppearance(submeshIndex);
            IndexBuffer    indexBuffer = mesh.getIndexBuffer(submeshIndex);

            if (appearance == null || indexBuffer == null)
            {
                return;
            }
            this.renderNode         = n;
            this.compositeTransform = t;
            this.m_layer            = appearance.getLayer();
            this.m_appearance       = appearance;
            this.m_indexBuffer      = indexBuffer;
            this.m_vertexBuffer     = mesh.getVertexBuffer();
            CompositingMode compositingMode = appearance.getCompositingMode();

            if (compositingMode == null)
            {
                return;
            }
            this.m_blending = compositingMode.getBlending();
        }