예제 #1
0
        private bool CreateStaticModel(LOLModel model, Logger logger)
        {
            bool result = true;

            logger.Event("Creating static model.");

            SKNFile file = new SKNFile();

            if (result == true)
            {
                // Model is stored in a RAF.
                result = SKNReader.Read(model.skn, ref file, logger);
            }

            staticModel = new GLStaticModel();
            if (result == true)
            {
                result = staticModel.Create(file, logger);
            }

            //
            // Create Model Texture.
            //

            if (result == true)
            {
                // Texture stored in RAF file.
                result = CreateTexture(model.texture, TextureTarget.Texture2D,
                                       GLTexture.SupportedImageEncodings.DDS, logger);

                // Store it in our new model file.
                if (result == true)
                {
                    String name = model.texture.FileName;
                    int    pos  = name.LastIndexOf("/");
                    name = name.Substring(pos + 1);

                    staticModel.TextureName = name;
                }
            }

            if (result == false)
            {
                logger.Error("Failed to create static model.");
            }

            return(result);
        }
예제 #2
0
        public GLRenderer()
        {
            programs = new Dictionary <String, GLShaderProgram>();
            shaders  = new Dictionary <String, GLShader>();

            billboard   = new GLBillboard();
            staticModel = new GLStaticModel();

            riggedModel    = new GLRiggedModel();
            boneTransforms = new Matrix4[MAX_BONE_TRANSFORMS];

            textures = new Dictionary <String, GLTexture>();

            isSkinning = false;

            Reset();
        }