示例#1
0
        void handleLWO2(ID subchunkId)
        {
            switch (subchunkId.value)
            {
            case ID.COLR: readBaseColor_COL12_VX(); break;

            case ID.LUMI: readLuminosity_FP4_VX(); break;

            case ID.DIFF: readDiffuse_FP4_VX(); break;

            case ID.SPEC: readSpecular_FP4_VX(); break;

            case ID.REFL: readReflection_FP4_VX(); break;

            case ID.TRAN: readTransparency_FP4_VX(); break;

            case ID.TRNL: readTranslucency_FP4_VX(); break;

            case ID.GLOS: readSpecularGlossiness_FP4_VX(); break;

            case ID.SHRP: readDiffuseSharpness_FP4_VX(); break;

            case ID.BUMP: readBumpIntensity_FP4_VX(); break;

            case ID.SIDE: readPolygonSidedness_U2(); break;

            case ID.SMAN: readMaxSmoothingAngle_ANG4(); break;

            case ID.RFOP: readReflectionOptions_U2(); break;

            case ID.RIMG: readReflectionMapImage_VX(); break;

            case ID.RSAN: readReflectionMapImageSeamAngle_ANG4_VX(); break;

            case ID.RIND: readRefractiveIndex_F4_VX(); break;

            case ID.CLRH: readColorHighlights_FP4_VX(); break;

            case ID.TROP: readTransparencyOptions_U2(); break;

            case ID.TIMG: readRefractionMapImage_VX(); break;

            case ID.CLRF: readColorFilter_FP4_VX(); break;

            case ID.ADTR: readAdditiveTransparency_FP4_VX(); break;

            case ID.GLOW: readGlowEffect_U2_F4_VX_F4_VX(); break;

            case ID.LINE: readRenderOutlines_U2_F4_VX_COL12_VX(); break;

            case ID.ALPH: readAlphaMode_U2_FP4(); break;

            case ID.VCOL: readVertexColorMap_FP4_VX_ID4(); break;

            case ID.BLOK: BLOKchunks(); break;

            case ID.CMNT: readComment_S0(); break;
            //    Texture parameters are handled by current texture

            default:
            {
                if (currentTexture != null)
                {
                    handleTextureChunks(subchunkId);
                }
                else
                {
                    Trace.TraceWarning("There is no texture where to bind found texture subchunk");
                }
                break;
            }
            }
        }
示例#2
0
        //  Some chunks have different handlers for LWOB / LWLO / LWO2
        void handleLWOB(ID subchunkId)
        {
            switch (subchunkId.value)
            {
            case ID.FLAG: readStateFlags_U2(); break;

            case ID.COLR: readBaseColor_COL4(); break;

            case ID.LUMI: readLuminosity_IP2(); break;

            case ID.DIFF: readDiffuse_IP2(); break;

            case ID.SPEC: readSpecular_IP2_4(); break;

            case ID.REFL: readReflection_IP2_4(); break;

            case ID.TRAN: readTransparency_IP2(); break;

            case ID.TRNL: readTranslucency_FP4_VX(); break;

            case ID.VLUM: readLuminosity_FP4(); break;

            case ID.VDIF: readDiffuse_FP4(); break;

            case ID.VSPC: readSpecular_FP4(); break;

            case ID.VRFL: readReflection_FP4(); break;

            case ID.VTRN: readTransparency_FP4(); break;

            case ID.GLOS: readSpecularGlossiness_I2_4(); break;

            case ID.RFLT: readReflectionMode_U2(); break;

            case ID.RIMG: readReflectionMapImage_FNAM0(); break;

            case ID.RSAN: readReflectionMapImageSeamAngle_DEG4(); break;

            case ID.RIND: readRefractiveIndex_F4(); break;

            case ID.EDGE: readEdgeTransparencyTreshold_F4(); break;

            case ID.SMAN: readMaxSmoothingAngle_DEG4(); break;

            case ID.ALPH: readAlphaMode_U2_U2(); break;

            case ID.SHDR: readShaderPlugin_S0(); break;

            case ID.SDAT: readShaderData_f(); break;

            case ID.IMSQ: readSequenceOptions_U2_U2_U2(); break;

            case ID.FLYR: readFlyerClipOptions_U4_U4(); break;

            case ID.IMCC: readColorCycleOptions_U2_U2_U2(); break;

            case ID.CTEX: readColorTexture_S0(); break;

            case ID.DTEX: readDiffuseTexture_S0(); break;

            case ID.STEX: readSpecularTexture_S0(); break;

            case ID.RTEX: readReflectionTexture_S0(); break;

            case ID.TTEX: readTransparencyTexture_S0(); break;

            case ID.LTEX: readLuminosityTexture_S0(); break;

            case ID.BTEX: readBumpTexture_S0(); break;
            //  Texture parameters are handled by current tesxture

            default:
            {
                if (currentTexture != null)
                {
                    handleTextureChunks(subchunkId);
                }
                else
                {
                    Trace.TraceWarning("There is no texture where to bind found texture subchunk");
                }
                break;
            }
            }
        }