コード例 #1
0
        /// <summary>
        /// テクスチャパラム初期化
        /// </summary>
        /// <param name="s"></param>
        public void InitializeTextureParams(ref ksMaterialStruct s)
        {
            Model m = owner_ as Model;

            textureFileParams_ = new List <TextureFileParam>();
            for (int i = 0; i < 4; i++)
            {
                textureFileParams_.Add(new TextureFileParam());
                textureFileParams_[i].Index = i;
                if (s.m_Type == (int)Material.MaterialType.TEXTURE_ONLY && s.m_texID[i] >= 0)
                {
                    textureFileParams_[i].Path = m.TextureDict[s.m_texID[i]];
                }
                else
                {
                    textureFileParams_[i].Path = "";
                }
                textureFileParams_[i].Owner            = this;
                textureFileParams_[i].PropertyChanged += MaterialTextureParam_PropertyChanged;
            }
        }
コード例 #2
0
        /// <summary>
        /// マテリアルデータから初期化
        /// </summary>
        /// <param name="s"></param>
        public Material(Object owner, ref ksMaterialStruct s, List <Texture> textures)
        {
            owner_     = owner;
            BlendState = RenderState.BlendState.None;
            DepthState = RenderState.DepthState.Normal;

            if (s.m_Type == (int)MaterialType.COLOR_ONLY)
            {
                diffuseColor_ = s.color;
            }
            else
            {
                diffuseColor_ = new Color4(1, 1, 1, 1);
                for (int i = 0; i < 4; i++)
                {
                    if (s.m_texID[i] < 0)
                    {
                        break;
                    }
                    psShaderViews_[i] = textures[s.m_texID[i]];
                }
            }
        }