35 |
"3D filleting" |
"3D filleting" |
36 |
def __init__(self): |
def __init__(self): |
37 |
self.depthTexture = GL.createTexture() |
self.depthTexture = GL.createTexture() |
38 |
|
self.direct = 0 |
39 |
rect = 1 |
rect = 1 |
40 |
targ = "TEXTURE_RECTANGLE_NV" |
targ = "TEXTURE_RECTANGLE_NV" |
41 |
self.depthTexture.loadNull2D("TEXTURE_RECTANGLE_NV", 0, "DEPTH_COMPONENT24", |
self.buffer = GL.createByteVector(1024 * 768 * 4) |
42 |
1024, 768, 0, "DEPTH_COMPONENT", |
if self.direct: |
43 |
"INT") |
self.depthTexture.loadNull2D("TEXTURE_RECTANGLE_NV", 0, "DEPTH_COMPONENT24", |
44 |
|
1024, 768, 0, "DEPTH_COMPONENT", |
45 |
|
"INT") |
46 |
|
else: |
47 |
|
self.depthTexture.loadNull2D("TEXTURE_RECTANGLE_NV", 0, "RGBA8", |
48 |
|
1024, 768, 0, "BGRA", |
49 |
|
"UNSIGNED_INT_8_8_8_8") |
50 |
if not rect: |
if not rect: |
51 |
self.depthTexture.setTexParameter(targ, |
self.depthTexture.setTexParameter(targ, |
52 |
"TEXTURE_MAX_LEVEL", 0) |
"TEXTURE_MAX_LEVEL", 0) |
138 |
Enable TEXTURE_RECTANGLE_NV |
Enable TEXTURE_RECTANGLE_NV |
139 |
""" % self.depthTexture.getTexId())) |
""" % self.depthTexture.getTexId())) |
140 |
|
|
141 |
|
if self.direct: |
142 |
|
|
143 |
# Now, draw the edges |
# Now, draw the edges |
144 |
vs.put(GLRen.createCopyTexSubImage2D("TEXTURE_RECTANGLE_NV", |
vs.put(GLRen.createCopyTexSubImage2D("TEXTURE_RECTANGLE_NV", |
145 |
0, 0, 0, 1024, 768), 0) |
0, 0, 0, 1024, 768), 0) |
146 |
|
|
147 |
|
else: |
148 |
|
|
149 |
|
vs.put(GLRen.createReadPixels(1024, 768, "DEPTH_COMPONENT", |
150 |
|
"UNSIGNED_INT", self.buffer), 0) |
151 |
|
vs.put(GLRen.createTexSubImage2D( |
152 |
|
"TEXTURE_RECTANGLE_NV", 0, 0, 0, 1024, 768, |
153 |
|
"BGRA", "UNSIGNED_INT_8_8_8_8", self.buffer)) |
154 |
|
|
155 |
vs.put(getDListNocoords(""" |
vs.put(getDListNocoords(""" |
156 |
Color 1 1 1 |
Color 1 1 1 |