Does it write an error log to your desktop??
Bug confirmed and damn annoying, funny thing is, it shows up sooooo randomly meaning I could run the demo so many times just fine, and then all of sudden have it crashing on me at the start up.
Bug is due to SPHERE_MAP passed as parameter to TexCoordGeneration…
The error log blames it on my ATi openGL driver, atioglxx…
/me shrugs, get me TextureCubeMap and I’ll make it better
I have an idea for JCD, how about a single app that can run all your demos from the click of a button. Maybe with a pluggable interface so you add more demos later on… would be nice to see all of them in a suite
The swimmer is pretty funky btw,
Kev
^Genius ;D
Will do so, actullay I’m flying to Germany tomorrow for a week, then I’ll stop by Paris to finally settle for another 2 weeks in Tunisia, therefore I’ll barely have any spare time to code for about a month.
I still have few demos laying around, procedural textures, physics, heightmaps etc…
Will start coding again as soon as I get back home in Massachusetts
Are you on holidays for one month? I wish I had the money and time to do this. :
Yup, done with school for this semester and it’s time for the anticipated winter break ;D
About the money, well I worked my butt off to afford my trip, besides I know few people here and there so I won’t be charged the outrageous hotels expenses where I stay
This is on my work machine with an Intel 82845G/GL card and Win2K:
Water demo error log:
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x34739C2
Function=DrvSetLayerPaletteEntries+0x8BAC2
Library=C:\WINNT\system32\ialmgicd.dll
Current Java thread:
at net.java.games.jogl.impl.windows.WindowsGLImpl.glDrawArrays(Native Method)
at com.xith3d.render.jogl.ShapeAtomPeer.drawGeometry(ShapeAtomPeer.java:485)
at com.xith3d.render.jogl.ShapeAtomPeer.renderAtom(ShapeAtomPeer.java:666)
at com.xith3d.render.CanvasPeerBase.render(CanvasPeerBase.java:101)
at com.xith3d.render.jogl.CanvasPeerImpl.drawBin(CanvasPeerImpl.java:670)
at com.xith3d.render.jogl.CanvasPeerImpl.display(CanvasPeerImpl.java:840)
at net.java.games.jogl.impl.GLDrawableHelper.display(GLDrawableHelper.java:74)
at net.java.games.jogl.GLCanvas$DisplayAction.run(GLCanvas.java:194)
at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:192)
- locked <0x10091548> (a net.java.games.jogl.impl.windows.WindowsOnscreenGLContext)
at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:182)
at net.java.games.jogl.GLCanvas.display(GLCanvas.java:82)
at com.xith3d.render.jogl.CanvasPeerImpl.render(CanvasPeerImpl.java:941)
at com.xith3d.scenegraph.View.renderOnce(View.java:722)
- locked <0x10787d08> (a com.xith3d.scenegraph.View)
at com.xith3d.scenegraph.View.renderOnce(View.java:655)
- locked <0x10787d08> (a com.xith3d.scenegraph.View)
at WaterSimulation.run(WaterSimulation.java:175)
at java.lang.Thread.run(Unknown Source)
Dynamic libraries:
0x00400000 - 0x00407000 C:\Program Files\Java\j2re1.4.2_01\bin\javaw.exe
0x77F80000 - 0x77FFB000 C:\WINNT\system32\ntdll.dll
0x7C2D0000 - 0x7C332000 C:\WINNT\system32\ADVAPI32.dll
0x7C570000 - 0x7C623000 C:\WINNT\system32\KERNEL32.DLL
0x77D30000 - 0x77D9E000 C:\WINNT\system32\RPCRT4.DLL
0x77E10000 - 0x77E6F000 C:\WINNT\system32\USER32.dll
0x77F40000 - 0x77F79000 C:\WINNT\system32\GDI32.dll
0x78000000 - 0x78045000 C:\WINNT\system32\MSVCRT.dll
0x08000000 - 0x08136000 C:\Program Files\Java\j2re1.4.2_01\bin\client\jvm.dll
0x77570000 - 0x775A0000 C:\WINNT\system32\WINMM.dll
0x10000000 - 0x10007000 C:\Program Files\Java\j2re1.4.2_01\bin\hpi.dll
0x007E0000 - 0x007EE000 C:\Program Files\Java\j2re1.4.2_01\bin\verify.dll
0x007F0000 - 0x00808000 C:\Program Files\Java\j2re1.4.2_01\bin\java.dll
0x00810000 - 0x0081D000 C:\Program Files\Java\j2re1.4.2_01\bin\zip.dll
0x18270000 - 0x1837F000 C:\Program Files\Java\j2re1.4.2_01\bin\awt.dll
0x77800000 - 0x7781E000 C:\WINNT\system32\WINSPOOL.DRV
0x76620000 - 0x76631000 C:\WINNT\system32\MPR.DLL
0x75E60000 - 0x75E7A000 C:\WINNT\system32\IMM32.dll
0x77A50000 - 0x77B3C000 C:\WINNT\system32\ole32.dll
0x18380000 - 0x183D0000 C:\Program Files\Java\j2re1.4.2_01\bin\fontmanager.dll
0x51000000 - 0x51047000 C:\WINNT\system32\ddraw.dll
0x728A0000 - 0x728A6000 C:\WINNT\system32\DCIMAN32.dll
0x5C000000 - 0x5C0C8000 C:\WINNT\system32\D3DIM700.DLL
0x22630000 - 0x226B5000 C:\WINNT\system32\nView.dll
0x782F0000 - 0x78538000 C:\WINNT\system32\SHELL32.dll
0x70A70000 - 0x70AD5000 C:\WINNT\system32\SHLWAPI.DLL
0x71710000 - 0x71794000 C:\WINNT\system32\COMCTL32.DLL
0x690A0000 - 0x690AB000 C:\WINNT\system32\PSAPI.DLL
0x77820000 - 0x77827000 C:\WINNT\system32\VERSION.dll
0x759B0000 - 0x759B6000 C:\WINNT\system32\LZ32.DLL
0x227F0000 - 0x227FA000 C:\Program Files\Java\j2re1.4.2_01\javaws\javawspl.dll
0x22A90000 - 0x22A9F000 C:\Program Files\Java\j2re1.4.2_01\bin\net.dll
0x75030000 - 0x75044000 C:\WINNT\system32\WS2_32.dll
0x75020000 - 0x75028000 C:\WINNT\system32\WS2HELP.DLL
0x782C0000 - 0x782CC000 C:\WINNT\System32\rnr20.dll
0x77980000 - 0x779A4000 C:\WINNT\system32\DNSAPI.DLL
0x75050000 - 0x75058000 C:\WINNT\system32\WSOCK32.DLL
0x77340000 - 0x77353000 C:\WINNT\system32\iphlpapi.dll
0x77520000 - 0x77525000 C:\WINNT\system32\ICMP.DLL
0x77320000 - 0x77337000 C:\WINNT\system32\MPRAPI.DLL
0x75150000 - 0x7515F000 C:\WINNT\system32\SAMLIB.DLL
0x75170000 - 0x751BF000 C:\WINNT\system32\NETAPI32.DLL
0x7C340000 - 0x7C34F000 C:\WINNT\system32\SECUR32.DLL
0x751C0000 - 0x751C6000 C:\WINNT\system32\NETRAP.DLL
0x77950000 - 0x7797A000 C:\WINNT\system32\WLDAP32.DLL
0x779B0000 - 0x77A4B000 C:\WINNT\system32\OLEAUT32.DLL
0x773B0000 - 0x773DF000 C:\WINNT\system32\ACTIVEDS.DLL
0x77380000 - 0x773A3000 C:\WINNT\system32\ADSLDPC.DLL
0x77830000 - 0x7783E000 C:\WINNT\system32\RTUTILS.DLL
0x77880000 - 0x7790E000 C:\WINNT\system32\SETUPAPI.DLL
0x7C0F0000 - 0x7C151000 C:\WINNT\system32\USERENV.DLL
0x774E0000 - 0x77513000 C:\WINNT\system32\RASAPI32.DLL
0x774C0000 - 0x774D1000 C:\WINNT\system32\RASMAN.DLL
0x77530000 - 0x77552000 C:\WINNT\system32\TAPI32.DLL
0x77360000 - 0x77379000 C:\WINNT\system32\DHCPCSVC.DLL
0x777E0000 - 0x777E8000 C:\WINNT\System32\winrnr.dll
0x777F0000 - 0x777F5000 C:\WINNT\system32\rasadhlp.dll
0x74FD0000 - 0x74FEE000 C:\WINNT\system32\msafd.dll
0x75010000 - 0x75017000 C:\WINNT\System32\wshtcpip.dll
0x003C0000 - 0x003E2000 C:\Program Files\Java\j2re1.4.2_01\bin\dcpr.dll
0x02F00000 - 0x02F1E000 C:\Program Files\Java\j2re1.4.2_01\bin\jpeg.dll
0x03090000 - 0x03097000 C:\Program Files\Yahoo!\Messenger\idle.dll
0x030B0000 - 0x030B5000 C:\Program Files\Java\j2re1.4.2_01\bin\jawt.dll
0x030C0000 - 0x03136000 C:\Documents and Settings\SAS1780\.javaws\cache\http\Dwww.users.xith.org\P80\DMJavaCoolDude\DMJWS\DMlib\RNjogl-win32-native.jar\jogl.dll
0x69510000 - 0x695D7000 C:\WINNT\system32\OPENGL32.dll
0x6FAC0000 - 0x6FADF000 C:\WINNT\system32\GLU32.dll
0x033E0000 - 0x03598000 C:\WINNT\system32\ialmgicd.dll
0x035B0000 - 0x035D6000 C:\WINNT\system32\ialmgdev.dll
0x77920000 - 0x77943000 C:\WINNT\system32\imagehlp.dll
0x72A00000 - 0x72A2D000 C:\WINNT\system32\DBGHELP.dll
Heap at VM Abort:
Heap
def new generation total 576K, used 121K [0x10010000, 0x100b0000, 0x104f0000)
eden space 512K, 11% used [0x10010000, 0x1001e598, 0x10090000)
from space 64K, 99% used [0x10090000, 0x1009fff8, 0x100a0000)
to space 64K, 0% used [0x100a0000, 0x100a0000, 0x100b0000)
tenured generation total 5720K, used 3543K [0x104f0000, 0x10a86000, 0x14010000)
the space 5720K, 61% used [0x104f0000, 0x10865ca0, 0x10865e00, 0x10a86000)
compacting perm gen total 9472K, used 9432K [0x14010000, 0x14950000, 0x18010000)
the space 9472K, 99% used [0x14010000, 0x14946388, 0x14946400, 0x14950000)
Local Time = Mon Dec 22 09:36:01 2003
Elapsed Time = 15
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_01-b06 mixed mode)
#
/me points to Xith3D… :
[quote]I have an idea for JCD, how about a single app that can run all your demos from the click of a button. Maybe with a pluggable interface so you add more demos later on… would be nice to see all of them in a suite
The swimmer is pretty funky btw,
Kev
[/quote]
Totally unnecessary kevglass. Try running javaws without any options. Assuming your version of javaws is current, you’ll see a nice little list of javaws applications. In the “Location” field, type the URL of this forum topic:
http://www.java-gaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=xith3d;action=display;num=1071038323
Hit return. You should see a current list of JCD’s demos. To save this, go to View->Add Entry and give it a name like “JCD’s Xith Demos”. Now, any time you start javaws with no options, you can go to View->JCD’s Xith Demos and see an up-to-date list of his demos available to run right from the javaws application manager.
HTH
Well, yes, thats great… but each and every webstart has its own Xith jar… although this might be nessercary in some cases… if it was just one download it would save some download
Of course the other side is some people can’t use webstart so it’d be nice for them to have a downloadable collection…
Kev
[quote]/me points to Xith3D… :
[/quote]
me points to JOGL
java code shouldn’t cause a native crash like that
Will.
[quote]Well, yes, thats great… but each and every webstart has its own Xith jar… although this might be nessercary in some cases… if it was just one download it would save some download
Of course the other side is some people can’t use webstart so it’d be nice for them to have a downloadable collection…
Kev
[/quote]
Several Xith3D apps can share a single xith3d.jar file - we do that at xith.org. Infact the only difference between any of the demo’s in a single collection is the main class attribute of the JNLP file. The only difference between the collections of demos is the “resources” they use.
Will.
humm- i turn the box upside down and the water dont fall out LOL-- top stuff as always…
what about volumatic fog effects? anyone?
Greetings from Tunisia where I m currently enjoying some great vacation ;D
Got some good and bad news too:
Good news first: I got per pixel lighting to perfectly work.
Bad news: Can t upload the demo as well as the source till I get back home, Massachusetts
Well take care of yourselves fellas
c ya soon
have a great time there- hope u love salt lakes! amazing in the morning ‘a must see- the sun coming up’!
Demo Release tonight
Tada, check the first post
PS: Hey William, can I have both Water and PPL demos up on the demo page please?
Edit: I had to modify the TextureShaderPeer to add the DOT3 extension,
Looks great! What sort of FPS are you getting out of it and on what card?
I ask since I implemented per-pixel lighting on a non-trivial scene with shadowed area support but couldn’t get it running fast enough to implement the game.
Kev
[quote]Edit: I had to modify the TextureShaderPeer to add the DOT3 extension,
[/quote]
Can you submit a diff to IssueZilla, so we can apply it to codebase?
Yuri
Ok PerPixel Lighting source code is up on the first page
The reason behind the delay in posting it is because I had to sit and think about my very OWN algorithm to make a pretty torus with lotta flexible parameters
My approach to PPL, unlike many demos I’ve seen floating around on the web, will work with ANY model or mesh out there, not just torii.
As I mentioned before, I had to modify the TextureShaderPeer class to add the Dot3 extension.
Problem is, I don’t think I’ve implemented it the right way since Java3D’s version of this demo is a tiny bit different.
Let me show you:
Java3D
textureAttributes[0] = new TextureAttributes();
textureAttributes[0].setTextureMode(TextureAttributes.COMBINE);
textureAttributes[0].setCombineRgbMode(TextureAttributes.COMBINE_DOT3);
textureAttributes[0].setCombineRgbSource(0,TextureAttributes.COMBINE_TEXTURE_COLOR);
textureAttributes[0].setCombineRgbFunction(0,TextureAttributes.COMBINE_SRC_COLOR);
textureAttributes[0].setCombineRgbSource(1,TextureAttributes.COMBINE_OBJECT_COLOR);
textureAttributes[0].setCombineRgbFunction(1,TextureAttributes.COMBINE_SRC_COLOR);
textureAttributes[1] = new TextureAttributes();
textureAttributes[1].setTextureMode(TextureAttributes.COMBINE);
textureAttributes[1].setCombineRgbMode(TextureAttributes.COMBINE_MODULATE);
textureAttributes[1].setCombineRgbSource(0,TextureAttributes.COMBINE_PREVIOUS_TEXTURE_UNIT_STATE);
textureAttributes[1].setCombineRgbFunction(0,TextureAttributes.COMBINE_SRC_COLOR);
textureAttributes[1].setCombineRgbSource(1,TextureAttributes.COMBINE_TEXTURE_COLOR);
textureAttributes[1].setCombineRgbFunction(1,TextureAttributes.COMBINE_SRC_COLOR);
Xith3D (modified)
textureAttributes[0] = new TextureAttributes();
textureAttributes[0].setTextureMode(TextureAttributes.COMBINE);
textureAttributes[0].setCombineRgbMode(TextureAttributes.COMBINE_DOT3);
textureAttributes[0].setCombineRgbSource(0,TextureAttributes.COMBINE_TEXTURE_COLOR);
textureAttributes[0].setCombineRgbFunction(0,TextureAttributes.COMBINE_SRC_COLOR);
textureAttributes[0].setCombineRgbSource(1,TextureAttributes.COMBINE_OBJECT_COLOR);
textureAttributes[0].setCombineRgbFunction(1,TextureAttributes.COMBINE_SRC_COLOR);
textureAttributes[1] = new TextureAttributes();
textureAttributes[1].setTextureMode(TextureAttributes.COMBINE_MODULATE);
textureAttributes[1].setCombineRgbSource(0,TextureAttributes.COMBINE_PREVIOUS_TEXTURE_UNIT_STATE);
textureAttributes[1].setCombineRgbFunction(0,TextureAttributes.COMBINE_SRC_COLOR);
textureAttributes[1].setCombineRgbSource(1,TextureAttributes.COMBINE_TEXTURE_COLOR);
textureAttributes[1].setCombineRgbFunction(1,TextureAttributes.COMBINE_SRC_COLOR);
Check out the difference in the second textureAttribute setting.
When I try to copy the code just as it is from Java3D to Xith3D, I get a nice DOT3 bumped GOLDEN torus!!!
Anyways, here’s what I did to TextureShaderPeer.java
private static void setCombineMode(GL gl, int channel, int mode) {
switch (mode) {
case TextureAttributes.COMBINE_ADD:
gl.glTexEnvf(GL.GL_TEXTURE_ENV, channel, GL.GL_ADD);
break;
case TextureAttributes.COMBINE_ADD_SIGNED:
gl.glTexEnvf(GL.GL_TEXTURE_ENV, channel, GL.GL_ADD_SIGNED);
break;
case TextureAttributes.COMBINE_REPLACE:
gl.glTexEnvf(GL.GL_TEXTURE_ENV, channel, GL.GL_REPLACE);
break;
case TextureAttributes.COMBINE_MODULATE:
gl.glTexEnvf(GL.GL_TEXTURE_ENV, channel, GL.GL_MODULATE);
break;
case TextureAttributes.COMBINE_DOT3:
gl.glTexEnvf(GL.GL_TEXTURE_ENV, channel, GL.GL_DOT3_RGB);
break;
}
}
I might have screwed up and put the DOT3 extension where it doesn’t belong, but hey it’s Yuri’s Job not mine ;D.
PS: In response to Kev.
Using the first texture set, I get around 700 FPS on this Athlon 2.1Ghz, Radeon 9700Pro, NForce2 Mobo and 512 DDR.
The second texture set however, the ATi Radeon one, I get over 1000 FPS…