[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] libvob/vob demo/multifil/fillet3d.py demo/multi...
From: |
Janne V. Kujala |
Subject: |
[Gzz-commits] libvob/vob demo/multifil/fillet3d.py demo/multi... |
Date: |
Thu, 26 Jun 2003 09:14:11 -0400 |
CVSROOT: /cvsroot/libvob
Module name: libvob
Branch:
Changes by: Janne V. Kujala <address@hidden> 03/06/26 09:14:11
Modified files:
vob/demo/multifil: fillet3d.py randgraph.py
Added files:
vob/fillet : __init__.py light3d.py
Log message:
perspective
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/vob/demo/multifil/fillet3d.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/vob/demo/multifil/randgraph.py.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/vob/fillet/__init__.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/vob/fillet/light3d.py?rev=1.1
Patches:
Index: libvob/vob/demo/multifil/fillet3d.py
diff -u libvob/vob/demo/multifil/fillet3d.py:1.2
libvob/vob/demo/multifil/fillet3d.py:1.3
--- libvob/vob/demo/multifil/fillet3d.py:1.2 Thu Jun 26 06:56:58 2003
+++ libvob/vob/demo/multifil/fillet3d.py Thu Jun 26 09:14:10 2003
@@ -29,27 +29,7 @@
from vob.putil.demokeys import *
from vob.paper.texcache import getCachedTexture
-vp = [
-GL.createProgram(cg.compile("""
-void main(
- float4 pos: POSITION,
- float3 norm: NORMAL,
- out float4 opos: POSITION,
- out float4 col: COLOR
-) {
- opos = mul(glstate.matrix.mvp, pos);
- float4x4 foo = glstate.matrix.modelview[0];
- float3 t = normalize(float3(
- dot(foo[0].xyz, norm),
- dot(foo[1].xyz, norm),
- dot(foo[2].xyz, norm)));
- col.rgb = 0.5 * t + 0.5;
- col.a = 1;
-}
-
-""", "arbvp1")),
-]
-
+from vob.fillet import light3d;
class Scene:
"3D filleting"
@@ -70,7 +50,7 @@
SlideLin("dice", 20, 1, "Dice factor", "P", "p"),
)
def scene(self, vs):
- vs.put( background((.5,1,.2)))
+ vs.put( background((.5,.25,0)))
vs.put(getDListNocoords("""
PushAttrib POLYGON_BIT ENABLE_BIT
Enable DEPTH_TEST
@@ -110,6 +90,8 @@
vs.put(conns, [thick, angle, b, e]);
vs.put(conns, [thick, angle, e, b]);
+ vs.put(conns, [thick, angle, c, e]);
+ vs.put(conns, [thick, angle, e, c]);
# vs.put(GLRen.createDebugSwitch("Fillets", 1));
# vs.put(GLRen.createDebugSwitch("VFillets", 1));
@@ -125,10 +107,11 @@
Color 1 1 1
BindProgram VERTEX_PROGRAM_ARB %s
Enable VERTEX_PROGRAM_ARB
- """ % vp[0].getProgId()))
+ """ % light3d.vp[0].getProgId()))
pc(conns)
vs.put(getDListNocoords("""
+ BindProgram VERTEX_PROGRAM_ARB 0
PopAttrib
"""))
Index: libvob/vob/demo/multifil/randgraph.py
diff -u libvob/vob/demo/multifil/randgraph.py:1.16
libvob/vob/demo/multifil/randgraph.py:1.17
--- libvob/vob/demo/multifil/randgraph.py:1.16 Wed Jun 25 10:26:46 2003
+++ libvob/vob/demo/multifil/randgraph.py Thu Jun 26 09:14:10 2003
@@ -29,6 +29,8 @@
from vob.putil.demokeys import *
from vob.paper.texcache import getCachedTexture
+from vob.fillet import light3d;
+
from random import Random
class Scene:
@@ -54,17 +56,20 @@
SlideLin("seed", 42, 1, "seed number", "A", "a"),
SlideLin("size", 50, 5, "Node size", "K", "k"),
SlideLin("dice", 20, 1, "Dice factor", "P", "p"),
+ Toggle("fillet3d", 0, "3D fillets", "3"),
+ SlideLin("linewidth", 2, 1, "line width", "B", "b"),
+ Toggle("perspective", 0, "perspective", "F"),
)
def scene(self, vs):
vs.put( background((.5,1,.2)))
vs.put(getDListNocoords("""
- PushAttrib POLYGON_BIT
+ PushAttrib POLYGON_BIT ENABLE_BIT
Enable DEPTH_TEST
DepthFunc LEQUAL
- LineWidth 2
+ LineWidth %s
PolygonOffset -100 -100
ShadeModel SMOOTH
- """))
+ """ % self.linewidth))
if self.lines:
vs.put(getDListNocoords("PolygonMode FRONT_AND_BACK LINE"))
@@ -88,6 +93,9 @@
64 * self.stretched +
128 * self.sectors), 2)
+ conns3d = GLRen.createFillet3D(border, self.dice, 0);
+
+
rng = Random(self.seed)
N2 = 2*self.N/3
@@ -138,18 +146,53 @@
if node["conns"]:
vs.put(conns, [thick, angle, node["cs"]] + node["conns"])
+ if self.fillet3d:
+ vs.put(getDListNocoords("""
+ Color 1 1 1
+ BindProgram VERTEX_PROGRAM_ARB %s
+ Enable VERTEX_PROGRAM_ARB
+ MatrixMode PROJECTION
+ PushMatrix
+ MatrixMode MODELVIEW
+ PushMatrix
+ """ % light3d.vp[0].getProgId()))
+
+ if self.perspective:
+ vs.put(getDListNocoords("""
+ MatrixMode PROJECTION
+ LoadIdentity
+ Frustum -400 400 -400 400 500 2500
+ Scale 1 1 -1
+ MatrixMode MODELVIEW
+ LoadIdentity
+ Scale 1 1 -1
+ uLookAt 400 400 -1000 400 400 400 0 -1 0
+ """))
+ for node in nodes:
+ if node["conns"]:
+ for other in node["conns"]:
+ vs.put(conns3d, [thick, angle, node["cs"], other])
- vs.put(getDListNocoords("""
+
+ vs.put(getDListNocoords("""
+ MatrixMode PROJECTION
+ PopMatrix
+ MatrixMode MODELVIEW
+ PopMatrix
+ """))
+ else:
+ vs.put(getDListNocoords("""
Color 1 1 1
- """))
- if self.drawInside: pc(conns)
- vs.put(getDListNocoords("""
+ """))
+ if self.drawInside: pc(conns)
+ vs.put(getDListNocoords("""
Color 0 0 0
- """))
- if self.drawEdge: pc(conns_l)
-
+ """))
+ if self.drawEdge: pc(conns_l)
+
vs.put(getDListNocoords("""
+ BindProgram VERTEX_PROGRAM_ARB 0
PopAttrib
"""))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] libvob/vob demo/multifil/fillet3d.py demo/multi...,
Janne V. Kujala <=