Пример #1
0
        internal int GetTextureLayerIndex(RTextureLayer layer)
        {
            switch (layer)
            {
            case RTextureLayer.DIFFUSE:
                return(0);

            case RTextureLayer.NORMAL:
                return(1);

            case RTextureLayer.AMBIENT:
                return(2);

            case RTextureLayer.SPECULAR:
                return(3);

            case RTextureLayer.GLOW:
                return(4);

            case RTextureLayer.HEIGHT:
                return(5);

            case RTextureLayer.DETAIL:
                return(6);

            case RTextureLayer.TEXTURE7:
                return(7);

            case RTextureLayer.TEXTURE8:
                return(8);

            case RTextureLayer.TEXTURE9:
                return(9);

            case RTextureLayer.TEXTURE10:
                return(10);

            case RTextureLayer.TEXTURE11:
                return(11);

            case RTextureLayer.TEXTURE12:
                return(12);

            case RTextureLayer.TEXTURE13:
                return(13);

            case RTextureLayer.TEXTURE14:
                return(14);

            case RTextureLayer.TEXTURE15:
                return(15);

            default:
                return(0);
            }
        }
Пример #2
0
 public RTexture GetTexture(RTextureLayer TextureLayer)
 {
     if (Textures[GetTextureLayerIndex(TextureLayer)] != null)
     {
         return(Textures[GetTextureLayerIndex(TextureLayer)]);
     }
     else
     {
         return(null);
     }
 }
Пример #3
0
        public void SetSamplerValue(RTextureLayer layer, RTexture texture)
        {
            int unival = GetTexUniformValue(layer);
            int loc    = GetTexUniformLocation(layer);

            GL.Uniform1(loc, unival);
            REngine.CheckGLError();
            TextureUnit unit = (TextureUnit)(int)layer;

            GL.ActiveTexture(unit);
            REngine.CheckGLError();
            texture.Bind();
            REngine.CheckGLError();
        }
Пример #4
0
        internal int GetTexUniformValue(RTextureLayer layer)
        {
            RTextureUnit name = RTextureUnit.DIFFUSE;

            switch (layer)
            {
            case RTextureLayer.AMBIENT:
                name = RTextureUnit.AMBIENT;
                break;

            case RTextureLayer.DETAIL:
                name = RTextureUnit.DETAIL;
                break;

            case RTextureLayer.DIFFUSE:
                name = RTextureUnit.DIFFUSE;
                break;

            case RTextureLayer.GLOW:
                name = RTextureUnit.GLOW;
                break;

            case RTextureLayer.HEIGHT:
                name = RTextureUnit.HEIGHT;
                break;

            case RTextureLayer.NORMAL:
                name = RTextureUnit.NORMAL;
                break;

            case RTextureLayer.SPECULAR:
                name = RTextureUnit.SPECULAR;
                break;

            case RTextureLayer.TEXTURE7:
                name = RTextureUnit.TEXTURE7;
                break;

            case RTextureLayer.TEXTURE8:
                name = RTextureUnit.TEXTURE8;
                break;

            case RTextureLayer.TEXTURE9:
                name = RTextureUnit.TEXTURE9;
                break;

            case RTextureLayer.TEXTURE10:
                name = RTextureUnit.TEXTURE10;
                break;

            case RTextureLayer.TEXTURE11:
                name = RTextureUnit.TEXTURE11;
                break;

            case RTextureLayer.TEXTURE12:
                name = RTextureUnit.TEXTURE12;
                break;

            case RTextureLayer.TEXTURE13:
                name = RTextureUnit.TEXTURE13;
                break;

            case RTextureLayer.TEXTURE14:
                name = RTextureUnit.TEXTURE14;
                break;

            case RTextureLayer.TEXTURE15:
                name = RTextureUnit.TEXTURE15;
                break;
            }
            return((int)name);
        }
Пример #5
0
        internal int GetTexUniformLocation(RTextureLayer layer)
        {
            string name = "";

            switch (layer)
            {
            case RTextureLayer.AMBIENT:
                name = "ambient";
                break;

            case RTextureLayer.DETAIL:
                name = "detail";
                break;

            case RTextureLayer.DIFFUSE:
                name = "diffuse";
                break;

            case RTextureLayer.GLOW:
                name = "glow";
                break;

            case RTextureLayer.HEIGHT:
                name = "height";
                break;

            case RTextureLayer.NORMAL:
                name = "normal";
                break;

            case RTextureLayer.SPECULAR:
                name = "specular";
                break;

            case RTextureLayer.TEXTURE7:
                name = "texture7";
                break;

            case RTextureLayer.TEXTURE8:
                name = "texture8";
                break;

            case RTextureLayer.TEXTURE9:
                name = "texture9";
                break;

            case RTextureLayer.TEXTURE10:
                name = "texture10";
                break;

            case RTextureLayer.TEXTURE11:
                name = "texture11";
                break;

            case RTextureLayer.TEXTURE12:
                name = "texture12";
                break;

            case RTextureLayer.TEXTURE13:
                name = "texture13";
                break;

            case RTextureLayer.TEXTURE14:
                name = "texture14";
                break;

            case RTextureLayer.TEXTURE15:
                name = "texture15";
                break;
            }
            return(GetUniformLocation(name));
        }
Пример #6
0
 public void SetSamplerValue(RTextureLayer layer, RFrameBuffer frameBuffer)
 {
     SetSamplerValue(layer, frameBuffer.BackBuffer);
 }
Пример #7
0
 public void SetTexture(RTextureLayer TextureLayer, RTexture texture)
 {
     Textures[GetTextureLayerIndex(TextureLayer)] = texture;
 }