[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz ./Makefile gfx/jni/GzzGL-jni.cxx gfx/libos/...
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] gzz ./Makefile gfx/jni/GzzGL-jni.cxx gfx/libos/... |
Date: |
Tue, 10 Dec 2002 07:45:52 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Tuomas J. Lukka <address@hidden> 02/12/10 07:45:52
Modified files:
. : Makefile
gfx/jni : GzzGL-jni.cxx
gfx/libos : Os-GLX.cxx
gfx/librenderables: Renderables.cxx
gfx/util : anim.py
gzz/client/gl : GLAPI.java
Log message:
Now pbuffer in animation works... bizarre bug to work around, though...
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Makefile.diff?tr1=1.220&tr2=1.221&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/jni/GzzGL-jni.cxx.diff?tr1=1.69&tr2=1.70&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libos/Os-GLX.cxx.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/Renderables.cxx.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/util/anim.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/client/gl/GLAPI.java.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
Patches:
Index: gzz/Makefile
diff -u gzz/Makefile:1.220 gzz/Makefile:1.221
--- gzz/Makefile:1.220 Mon Dec 2 15:12:29 2002
+++ gzz/Makefile Tue Dec 10 07:45:52 2002
@@ -460,7 +460,7 @@
$(GLLIB) $(JYTHON) $(GLDEMO) gfx/demo/$(DEMO).py
runanim:
- $(GLLIB) $(JYTHON) $(GLDEMO) gfx/anim/$(DEMO).py
+ $(GLLIB) $(JYTHON) gfx/util/anim.py $(DBG) gfx/anim/$(ANIM).py
runppserver:
$(JYTHON) gzz/modules/pp/ppserver.py
Index: gzz/gfx/jni/GzzGL-jni.cxx
diff -u gzz/gfx/jni/GzzGL-jni.cxx:1.69 gzz/gfx/jni/GzzGL-jni.cxx:1.70
--- gzz/gfx/jni/GzzGL-jni.cxx:1.69 Thu Dec 5 05:57:34 2002
+++ gzz/gfx/jni/GzzGL-jni.cxx Tue Dec 10 07:45:52 2002
@@ -276,7 +276,7 @@
// RenderingSurface
-JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_createRenderingSurfaceImpl
+JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_createStableRenderingSurfaceImpl
(JNIEnv *env, jclass, jint w, jint h) {
Os::RenderingSurface *win = ws->openStableOffScreen(w, h);
return windows.add(win);
Index: gzz/gfx/libos/Os-GLX.cxx
diff -u gzz/gfx/libos/Os-GLX.cxx:1.15 gzz/gfx/libos/Os-GLX.cxx:1.16
--- gzz/gfx/libos/Os-GLX.cxx:1.15 Thu Dec 5 03:32:57 2002
+++ gzz/gfx/libos/Os-GLX.cxx Tue Dec 10 07:45:52 2002
@@ -76,11 +76,12 @@
*/
static int pbufferAttributes[] = {
GLX_RENDER_TYPE, GLX_RGBA_BIT,
+ GLX_DOUBLEBUFFER, 0,
GLX_RED_SIZE, 1,
GLX_GREEN_SIZE, 1,
GLX_BLUE_SIZE, 1,
GLX_DEPTH_SIZE, 1,
- GLX_STENCIL_SIZE, 0,
+ GLX_STENCIL_SIZE, 1,
GLX_DRAWABLE_TYPE, GLX_PBUFFER_BIT,
None
};
@@ -252,17 +253,22 @@
GLX_PBUFFER_WIDTH, w,
GLX_PBUFFER_HEIGHT, h,
GLX_PRESERVED_CONTENTS, 1,
- GLX_LARGEST_PBUFFER, 1,
+ GLX_LARGEST_PBUFFER, 0,
0
};
pbuf = glXCreatePbuffer(ws->dpy, ws->pbFbConfig[0], attrs);
unsigned val;
glXQueryDrawable(ws->dpy, pbuf, GLX_PBUFFER_WIDTH, &val);
- w = val;
+ this->w = val;
glXQueryDrawable(ws->dpy, pbuf, GLX_PBUFFER_HEIGHT, &val);
- h = val;
+ this->h = val;
+
+ DBG(dbg) << "PBuffer reserved "<<this->w<<" "<<this->h<<"\n";
+ // XXX getting weird results...
+ this->w = w;
+ this->h = h;
}
bool setCurrent() {
Index: gzz/gfx/librenderables/Renderables.cxx
diff -u gzz/gfx/librenderables/Renderables.cxx:1.10
gzz/gfx/librenderables/Renderables.cxx:1.11
--- gzz/gfx/librenderables/Renderables.cxx:1.10 Tue Nov 5 03:21:01 2002
+++ gzz/gfx/librenderables/Renderables.cxx Tue Dec 10 07:45:52 2002
@@ -28,18 +28,19 @@
void setStandardCoordinates(Vec windowSize) {
int w = (int)windowSize.x;
int h = (int)windowSize.y;
- DBG(dbg) << "Viewport\n";
glViewport(0, 0, w, h);
- DBG(dbg) << "mmode\n";
+ GLERR
glMatrixMode(GL_PROJECTION);
- DBG(dbg) << "loadid\n";
+ GLERR
glLoadIdentity();
- DBG(dbg) << "ortho\n";
+ GLERR
glOrtho(0, w, h, 0, 10000, -10000);
- DBG(dbg) << "mm\n";
+ GLERR
glMatrixMode(GL_MODELVIEW);
- DBG(dbg) << "loadid\n";
+ GLERR
glLoadIdentity();
+ GLERR
+ DBG(dbg) << "stdcoords done\n";
}
Index: gzz/gfx/util/anim.py
diff -u gzz/gfx/util/anim.py:1.1 gzz/gfx/util/anim.py:1.2
--- gzz/gfx/util/anim.py:1.1 Sun Dec 8 07:15:57 2002
+++ gzz/gfx/util/anim.py Tue Dec 10 07:45:52 2002
@@ -1,17 +1,23 @@
#(c): Tuomas J. Lukka
# A GL animation framework
+#
+# To be run as main, with cmd-line param
from __future__ import nested_scopes
import sys
from java.lang import System,Runnable
from gzz.client import AbstractBinder, AbstractShower, AbstractUpdateManager,
GraphicsAPI, Screen
+from gzz.gfx.gl import GL, GLRen
from gfx.util import reload as reloadmod
+from gfx.util import misc
import gzz
import getopt
import traceback
+animSize = (400, 300)
+
System.setProperty("gzzclient", "gl")
print "ARGV:",sys.argv
@@ -74,7 +80,7 @@
if 1:
reloadmod.reloadModules()
dict = {}
- dict["film"] = Film(w)
+ dict["film"] = Film(rs)
try:
exec open(animfile) in dict, dict
print dict
@@ -99,16 +105,44 @@
AbstractUpdateManager.chg()
class Show(AbstractShower):
def generate(self):
- film.renderFrame(w, frameno)
-
+ film.renderFrame(rs, frameno)
+ print "1"
+ rsbuf.readFromBuffer(rs.getRenderingSurface(),
+ "FRONT", 0, 0, animSize[0], animSize[1],
+ "RGB", "UNSIGNED_BYTE")
+ print "2"
+ vs = w.createVobScene()
+ vs.map.put(misc.background((0, 0, 0.2)))
+ cs = vs.translateCS(0, "tr", 300, 300) # 0, animSize[1]-1)
+ vs.map.put(
+ misc.getDListNocoords("""
+ Color 1 1 1 1
+ """)
+ )
+ vs.map.put(
+ GLRen.createDrawPixels(
+ animSize[0], animSize[1],
+ "RGB", "UNSIGNED_BYTE", rsbuf),
+ cs)
+ # rsbuf.drawPixels(w.getRenderingSurface(),
+ # 0, 0, 0, animSize[0], animSize[1],
+ # "RGB", "UNSIGNED_BYTE")
+ print "3"
+ return vs
class Main(Runnable):
def run(self):
b,s = (Bindings(), Show())
global w
- global rs
+ global rs, rsbuf
w = gfxapi.createWindow()
- w.setLocation(0,0,1024,768)
+ w.setLocation(0,0,800,600)
+ if 1:
+ rs = gfxapi.createStableOffscreen(*animSize)
+ else:
+ rs = gfxapi.createWindow()
+ rs.setLocation(0,600,animSize[0],animSize[1])
+ rsbuf = GL.createByteVector(animSize[0] * animSize[1] * 3)
loadAnim()
scr = Screen(w, b, s)
AbstractUpdateManager.addWindow(scr)
Index: gzz/gzz/client/gl/GLAPI.java
diff -u gzz/gzz/client/gl/GLAPI.java:1.21 gzz/gzz/client/gl/GLAPI.java:1.22
--- gzz/gzz/client/gl/GLAPI.java:1.21 Fri Nov 1 20:23:45 2002
+++ gzz/gzz/client/gl/GLAPI.java Tue Dec 10 07:45:52 2002
@@ -44,6 +44,9 @@
}
});
}
+ public RenderingSurface createStableOffscreen(int w, int h) {
+ return new GLRenderingSurface(this, 0, 0, w, h);
+ }
public Window createWindow() {
return new GLScreen(this);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz ./Makefile gfx/jni/GzzGL-jni.cxx gfx/libos/...,
Tuomas J. Lukka <=