[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz gfx/demo/gldemo.py gfx/demo/nic/stencildept...
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] gzz gfx/demo/gldemo.py gfx/demo/nic/stencildept... |
Date: |
Sun, 15 Sep 2002 06:11:14 -0400 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Tuomas J. Lukka <address@hidden> 02/09/15 06:11:14
Modified files:
gfx/demo : gldemo.py
gfx/demo/nic : stencildepth.py
gfx/librenderables: renderables.py
gzz/gfx/gl : GLVobCoorder.java
gzz/vob : SolidBgVob.java
Log message:
This seems to fix the stencil-depth problem. Note that the coordinate
system depths are relative, too\!
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/gldemo.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/nic/stencildepth.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/renderables.py.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/GLVobCoorder.java.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/vob/SolidBgVob.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: gzz/gfx/demo/gldemo.py
diff -c gzz/gfx/demo/gldemo.py:1.12 gzz/gfx/demo/gldemo.py:1.13
*** gzz/gfx/demo/gldemo.py:1.12 Thu Sep 12 09:04:03 2002
--- gzz/gfx/demo/gldemo.py Sun Sep 15 06:11:14 2002
***************
*** 28,38 ****
gzz.util.dbg.option(o,a)
def background(rgb):
! return getDList("""
! ClearColor %s %s %s 0
! Clear COLOR_BUFFER_BIT DEPTH_BUFFER_BIT STENCIL_BUFFER_BIT
! Clear STENCIL_BUFFER_BIT
! """%rgb)
def coloredQuad(rgb):
--- 28,34 ----
gzz.util.dbg.option(o,a)
def background(rgb):
! return gzz.vob.SolidBgVob(apply(java.awt.Color, rgb))
def coloredQuad(rgb):
Index: gzz/gfx/demo/nic/stencildepth.py
diff -c gzz/gfx/demo/nic/stencildepth.py:1.1
gzz/gfx/demo/nic/stencildepth.py:1.2
*** gzz/gfx/demo/nic/stencildepth.py:1.1 Sat Sep 14 05:48:57 2002
--- gzz/gfx/demo/nic/stencildepth.py Sun Sep 15 06:11:14 2002
***************
*** 15,31 ****
def run(self):
self.__callable(*self.args, **self.keys)
def put(x,y,d,key,vs,stenciled):
outer = vs.coords.coordsys(0, 'o'+key, d, x, y, 100, 50)
! inner = vs.coords.coordsys(outer, 'i'+key, d, 5, 5, 90, 40)
- rect = RectBgVob()
- style = GraphicsAPI.getInstance().getTextStyle("serif", 0, 12)
- t = TextVob(style, ":-)")
vs.map.put(rect, outer)
if stenciled:
Stencil.drawStenciled(vs,
R(lambda: vs.map.put(RectBgVob(), inner)),
None,
--- 15,32 ----
def run(self):
self.__callable(*self.args, **self.keys)
+ style = GraphicsAPI.getInstance().getTextStyle("serif", 0, 12)
+ rect = RectBgVob()
+ t = TextVob(style, ":-)")
def put(x,y,d,key,vs,stenciled):
outer = vs.coords.coordsys(0, 'o'+key, d, x, y, 100, 50)
! inner = vs.coords.coordsys(outer, 'i'+key, 0, 5, 5, 90, 40)
vs.map.put(rect, outer)
if stenciled:
+ print "Dostenc",inner, outer
Stencil.drawStenciled(vs,
R(lambda: vs.map.put(RectBgVob(), inner)),
None,
***************
*** 36,41 ****
--- 37,43 ----
else:
vs.map.put(RectBgVob(), inner)
vs.map.put(t, inner)
+ return
***************
*** 45,55 ****
def scene(self, vs):
putnoc(vs, background((0.7,0.6,0.9)))
! put(50, 50, 1, '1', vs, 0)
! put(80, 80, 2, '2', vs, 0)
! put(250, 50, 1, '3', vs, 1)
! put(280, 80, 2, '4', vs, 1)
currentScene = StencilDepthBugScene()
--- 47,57 ----
def scene(self, vs):
putnoc(vs, background((0.7,0.6,0.9)))
! put(50, 50, 10, '1', vs, 0)
! put(80, 80, 20, '2', vs, 0)
! put(250, 50, 10, '3', vs, 1)
! put(280, 80, 20, '4', vs, 1)
currentScene = StencilDepthBugScene()
Index: gzz/gfx/librenderables/renderables.py
diff -c gzz/gfx/librenderables/renderables.py:1.26
gzz/gfx/librenderables/renderables.py:1.27
*** gzz/gfx/librenderables/renderables.py:1.26 Sat Sep 14 06:22:28 2002
--- gzz/gfx/librenderables/renderables.py Sun Sep 15 06:11:14 2002
***************
*** 630,639 ****
--- 630,642 ----
Coords tcoords(widthmul, heightmul, origin.x, origin.y, origin.z,
coords1);
Vertexer<Coords> v(tcoords);
+ glPushAttrib(GL_ENABLE_BIT);
+ glEnable(GL_BLEND);
Text::renderIter(*r, txt.begin(), txt.end(),
0,0,
v
);
+ glPopAttrib();
"""
},
***************
*** 682,691 ****
--- 685,697 ----
Coords tcoords(widthmul, heightmul, origin.x, origin.y, origin.z,
coords1);
Vertexer<Coords> v(tcoords, squishx);
+ glPushAttrib(GL_ENABLE_BIT);
+ glEnable(GL_BLEND);
Text::renderIter(*r, txt.begin(), txt.end(),
0,0,
v
);
+ glPopAttrib();
"""
},
Index: gzz/gzz/gfx/gl/GLVobCoorder.java
diff -c gzz/gzz/gfx/gl/GLVobCoorder.java:1.25
gzz/gzz/gfx/gl/GLVobCoorder.java:1.26
*** gzz/gzz/gfx/gl/GLVobCoorder.java:1.25 Sat Sep 14 10:07:01 2002
--- gzz/gzz/gfx/gl/GLVobCoorder.java Sun Sep 15 06:11:14 2002
***************
*** 29,35 ****
import gzz.client.gl.*;
public class GLVobCoorder extends AffineVobCoorder {
! public static final String rcsid = "$Id: GLVobCoorder.java,v 1.25 2002/09/14
14:07:01 benja Exp $";
public static boolean dbg = false;
private static void pa(String s) { System.err.println(s); }
--- 29,35 ----
import gzz.client.gl.*;
public class GLVobCoorder extends AffineVobCoorder {
! public static final String rcsid = "$Id: GLVobCoorder.java,v 1.26 2002/09/15
10:11:14 tjl Exp $";
public static boolean dbg = false;
private static void pa(String s) { System.err.println(s); }
***************
*** 96,102 ****
// a REAL kludge
if(dbg) pa("Passed key: "+key);
! key = new Integer(key.hashCode() % 27482963 * 427189 +
(keys[into]!=null?keys[into].hashCode() : 89761));
if(dbg) {
pa("Old key: "+keys[into]);
pa("New key: "+key);
--- 96,105 ----
// a REAL kludge
if(dbg) pa("Passed key: "+key);
! key = new Integer(
! mix(key.hashCode(),
! keys[into] != null ? 1 : 0,
! keys[into] != null ? keys[into].hashCode() : 0));
if(dbg) {
pa("Old key: "+keys[into]);
pa("New key: "+key);
***************
*** 117,122 ****
--- 120,130 ----
return was;
}
+ static public int mix(int i1, int i2, int i3) {
+ return (i1 * 5124723 + 9812375) % 5350917 +
+ (i2 * 127401 + 897124) % 1128501 +
+ (i3 * 317819 + 1897124) % 12501 ;
+ }
public Object getKeyAt(VobMap v, float x, float y, float[]
internalcoords) {
float depth = 100000000;
Index: gzz/gzz/vob/SolidBgVob.java
diff -c gzz/gzz/vob/SolidBgVob.java:1.3 gzz/gzz/vob/SolidBgVob.java:1.4
*** gzz/gzz/vob/SolidBgVob.java:1.3 Fri Sep 13 07:48:31 2002
--- gzz/gzz/vob/SolidBgVob.java Sun Sep 15 06:11:14 2002
***************
*** 62,72 ****
private String getGLStr() {
return
"ClearColor " + ColorUtil.colorGLString(color) + " 0\n"+
! "Clear COLOR_BUFFER_BIT DEPTH_BUFFER_BIT\n"+
"Enable TEXTURE_2D\n"+
"Enable ALPHA_TEST\n"+
! "AlphaFunc GREATER 0\n"+
! "Enable BLEND\n"+
"BlendFunc SRC_ALPHA ONE_MINUS_SRC_ALPHA\n"+
"Color 1 1 1 1\n"+
"";
--- 62,75 ----
private String getGLStr() {
return
"ClearColor " + ColorUtil.colorGLString(color) + " 0\n"+
! "Clear COLOR_BUFFER_BIT DEPTH_BUFFER_BIT STENCIL_BUFFER_BIT\n"+
"Enable TEXTURE_2D\n"+
"Enable ALPHA_TEST\n"+
! "AlphaFunc GREATER 0.1\n"+
! "Disable BLEND\n"+ // Don't want to enable this by default
! // as it's fairly expensive
! "Enable DEPTH_TEST\n"+
! "DepthFunc LEQUAL\n"+
"BlendFunc SRC_ALPHA ONE_MINUS_SRC_ALPHA\n"+
"Color 1 1 1 1\n"+
"";
- [Gzz-commits] gzz gfx/demo/gldemo.py gfx/demo/nic/stencildept...,
Tuomas J. Lukka <=