root/trunk/RBRapier/RBRapier/Renderer/Appearance/Fog.py

Revision 702, 2.6 kB (checked in by sholloway, 5 years ago)

Added GL prefix to Execute/Select/Deselect

Line 
1 #!/usr/bin/env python
2 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 ##~ License
4 ##~
5 ##- The RuneBlade Foundation library is intended to ease some
6 ##- aspects of writing intricate Jabber, XML, and User Interface (wxPython, etc.)
7 ##- applications, while providing the flexibility to modularly change the
8 ##- architecture. Enjoy.
9 ##~
10 ##~ Copyright (C) 2002  TechGame Networks, LLC.
11 ##~
12 ##~ This library is free software; you can redistribute it and/or
13 ##~ modify it under the terms of the BSD style License as found in the
14 ##~ LICENSE file included with this distribution.
15 ##~
16 ##~ TechGame Networks, LLC can be reached at:
17 ##~ 3578 E. Hartsel Drive #211
18 ##~ Colorado Springs, Colorado, USA, 80920
19 ##~
20 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23 #~ Imports
24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
26 from RBRapier.Renderer.AttributeMgr import AttributeChangeElement
27 from RBRapier.Tools import Vector
28 from OpenGL import GL
29
30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 #~ Definitions
32 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
34 class FogModel(object):
35     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36     #~ Constants / Variables / Etc.
37     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38
39     AttributeChange = AttributeChangeElement(GL.GL_FOG_BIT)
40
41     Color = Vector.ColorVectorProperty('Color', lazy=0)
42     Density = 1.0
43     Start = 0.0
44     End = 1.0
45     Mode = GL_EXP
46
47     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48     #~ Public Methods
49     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51     def __init__(self, Mode=GL_EXP, Density=1.0):
52         self.Mode = Mode
53         self.Density = Density
54
55     def GLSelect(self, context):
56         context.StateMgr.Enable(GL.GL_FOG)
57         GL.glFog(GL.GL_FOG_COLOR, self.Color)
58         GL.glFog(GL.GL_FOG_DENSITY, self.Density)
59         GL.glFog(GL.GL_FOG_START, self.Start)
60         GL.glFog(GL.GL_FOG_END, self.End)
61         GL.glFog(GL.GL_FOG_MODE, self.Mode)
62
63     def GLDeselect(self, context):
64         context.StateMgr.Disable(GL.GL_FOG)
65
66 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67
68 class FogHint(object):
69     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70     #~ Constants / Variables / Etc.
71     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72
73     AttributeChange = AttributeChangeElement(GL.GL_HINT_BIT)
74     Hint = GL.GL_DONT_CARE
75
76     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77     #~ Public Methods
78     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79
80     def GLExecute(self, context):
81         GL.glHint(GL.GL_FOG_HINT, self.Hint)
82
Note: See TracBrowser for help on using the browser.