OSDN Git Service

Implemented "FullBright" attribute for textures
authorLatif Khalifa <latifer@streamgrid.net>
Tue, 5 Jul 2011 23:15:56 +0000 (23:15 +0000)
committerLatif Khalifa <latifer@streamgrid.net>
Tue, 5 Jul 2011 23:15:56 +0000 (23:15 +0000)
git-svn-id: https://radegast.googlecode.com/svn/trunk@951 f7a694da-4d33-11de-9ad6-1127a62b9fcd

Radegast/GUI/Rendering/Rendering.cs

index 6115dd9..5574019 100644 (file)
@@ -1510,6 +1510,9 @@ namespace Radegast.Rendering
                         if (teFace == null)\r
                             continue;\r
 \r
+                        int lightsEnabled;\r
+                        GL.GetInteger(GetPName.Lighting, out lightsEnabled);\r
+\r
                         if (pass != RenderPass.Picking)\r
                         {\r
                             bool belongToAlphaPass = (teFace.RGBA.A < 0.99) || data.TextureInfo.HasAlpha;\r
@@ -1520,6 +1523,11 @@ namespace Radegast.Rendering
                             // Don't render transparent faces\r
                             if (teFace.RGBA.A <= 0.01f) continue;\r
 \r
+                            if (teFace.Fullbright && lightsEnabled != 0)\r
+                            {\r
+                                GL.Disable(EnableCap.Lighting);\r
+                            }\r
+\r
                             switch (teFace.Shiny)\r
                             {\r
                                 case Shininess.High:\r
@@ -1613,6 +1621,11 @@ namespace Radegast.Rendering
                             GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0);\r
 \r
                         }\r
+\r
+                        if (teFace.Fullbright && lightsEnabled != 0)\r
+                        {\r
+                            GL.Enable(EnableCap.Lighting);\r
+                        }\r
                     }\r
 \r
                     GL.BindTexture(TextureTarget.Texture2D, 0);\r