Anyone working on the NeHe tutorials?

Hi, all.

I note that the first five or so of the NeHe OpenGL tutorials have been converted to jogl. The later ones appear to be a bit more of a no-man’s land.

Is anyone working on said conversion?

(If my understanding reaches a point where I can get them to work correctly, I may submit any I do, but this is terra incognita for me.)

Scott

Yeah, I’m still working on them. But this last month has been really busy for me.

If someone else wants to submit a few, let’s coordinate and avoid duplicate effort.

I can port Nehe to JOGL in few days, but I feel too lazy ;D
If someone wanna team up with me, and hence pass the needed motivation, I’ll gladly undust my compiler and get to work :stuck_out_tongue:

I would be more than happy to assist. Which ones are left to be ported?

I just checked the nehe site. Lesson 1-6 have already been ported, which leaves us 36 lessons to port. 13 each? ;D I suggest we agree on who will do which ones to avoid duplicate efforts.

OK, already got the shadow volumes to work with any Milkshape3D model, I might modify my code though to be as fidel as possible to Nehe’s ;D
pepijnve I trust you on the way you’ll split the ports among us three :stuck_out_tongue: cough*no one touches the bump mapping one, it’s mine ;D *cough

I just finished 7.

I assigned milkshape model loading and bump mapping to java cool dude specifically.
Is this ok?

pepijnve
8 - Blending
11 - Flag effect
14 - Outline fonts
17 - 2D Texture mapped fonts
20 - Masking
23 - Sphere mapping quadrics
26 - Clipping, reflections, stencil
29 - Blitter function, RAW
33 - TGA Loading
36 - Radial blur
39 - Physical simulation engine
42 - Multiple viewports

Java Cool Dude
9 - Moving bitmaps in 3D
12 - Display lists
15 - Texture mapped fonts
18 - Quadrics
22 - Bump mapping :wink:
24 - Token, scissor testing, tga
27 - Shadows
30 - Collision detection
31 - Model loading (Milkshape)
34 - Height mapping
37 - Cell shading
40 - Rope physics

Caoimhin
10 - Moving in a 3D world
13 - Bitmap fonts
16 - Cool looking fog
19 - Particle engine
21 - Lines, timing, orhto, sound
25 - Morphing, loading objects
28 - Bezier patches
32 - Picking, alpha, sorting
35 - Playing AVI files
38 - Resource file textures
41 - Volumetric fog & IPicture

Hi,

Thank you very much for your effort. It is very helpful for us to learn JOGL.

I run tutorial 2 and 3 and had some problem. I had to modify the 3rd one to use animator, then it worked. Anybody knows why? The 4th through 6th works fine. I am using RH 7.2 and java 1.4.1.

thanks a lot.

wz

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0x4D699037
Function=XVisualIDFromVisual+0x7
Library=/usr/X11R6/lib/libX11.so.6

Current Java thread:
at net.java.games.jogl.impl.JAWT_DrawingSurface.GetDrawingSurfaceInfo0(Native Method)
at net.java.games.jogl.impl.JAWT_DrawingSurface.GetDrawingSurfaceInfo(JAWT_DrawingSurface.java:42)
at net.java.games.jogl.impl.x11.X11OnscreenGLContext.lockSurface(X11OnscreenGLContext.java:167)
at net.java.games.jogl.impl.x11.X11OnscreenGLContext.makeCurrent(X11OnscreenGLContext.java:108)
- locked <0x445f0780> (a net.java.games.jogl.impl.x11.X11OnscreenGLContext)
at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:162)
- locked <0x445f0780> (a net.java.games.jogl.impl.x11.X11OnscreenGLContext)
at net.java.games.jogl.GLCanvas.reshape(GLCanvas.java:119)
at java.awt.Component.setBounds(Component.java:1665)
at java.awt.BorderLayout.layoutContainer(BorderLayout.java:683)
- locked <0x44a97790> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.layout(Container.java:1017)
at java.awt.Container.doLayout(Container.java:1007)
at java.awt.Container.validateTree(Container.java:1089)
at java.awt.Container.validate(Container.java:1064)
- locked <0x44a97790> (a java.awt.Component$AWTTreeLock)
at java.awt.Window.show(Window.java:455)
at Lesson02.main(Lesson02.java:146)

Dynamic libraries:
08048000-0804e000 r-xp 00000000 08:11 818133 /opt/lang/java/j2sdk1.4.1_03/bin/java
…many others, too long to post…
4dc37000-4dc38000 rw-p 00013000 08:02 256794 /usr/X11R6/lib/libXmu.so.6.2

Local Time = Fri Sep 5 10:35:40 2003
Elapsed Time = 1

The exception above was detected in native code outside the VM

Java VM: Java HotSpot™ Client VM (1.4.1_03-b02 mixed mode)

An error report file has been saved as hs_err_pid4564.log.

Please refer to the file for further information.

Where can I load Nehe JOGL tutorials?
http://nehe.gamedev.net site did not have jogl port for lesson07.
thx for porting examples for us newbies.

I sent Lesson 7 off to Jeff (NeHe) last night. He may not have put it up on his site yet.

At Jens Lehmann’s suggestion, I also updated 1 through 6 to automatically grab focus so one doesn’t have to first click on the canvas for keystrokes to be recognised. I also moved the keyboard code into keyPressed() because it worked better on Jens’ system, which I believe is Linux. I didn’t notice a difference under win32.

They should get updated soon, too.

Until Jeff gets them updated, I’ve put #7 on my own site. I’ll remove it after it’s on the nehe site.

http://home.earthlink.net/~kduling/Lesson07.jar

Done with lesson 12, not challenging a bit though :-/
Grab it from here
I also changed my coding style a bitcoughabout time heh?cough ;D

dum dee dee dum dee dum dum Another one bites the dust…
Lesson 18
PS: I dunno man, it might be my ill imagination but JOGL runs at least 20% faster than the equivalent code in c++…
:o
System specs:
Radeon 9500Pro 355/330
Athlon 2.034Ghz
512 DDr
Nforce2 Mobo

[ Celeron500Mhz, Win2kPro, Matrox MillenniumG400 ]
Examples run ok in windowed mode, but fullscreen does not work in my comp. Fullscreen is initialized and gfx is drawn but then screen is dead. It does not respond to a keyboard or anything.

Most likely its due to G400 card as lwjgl library does want to work well either.

Few times a native lib gave a coredump.

[quote][ Celeron500Mhz, Win2kPro, Matrox MillenniumG400 ]
Examples run ok in windowed mode, but fullscreen does not work in my comp. Fullscreen is initialized and gfx is drawn but then screen is dead. It does not respond to a keyboard or anything.

Most likely its due to G400 card as lwjgl library does want to work well either.

Few times a native lib gave a coredump.
[/quote]
Are we talking about my port here? ???

Bump mapping and multi-texturing, aka Lesson 22 is done :slight_smile:
Nehe’s Lesson 22 ported to JOGL
Enjoy ;D

Cel500Mhz, Win2k
Matrox G400 AGP 16MB, Matrox driver package 5.88.061

  • jogl.dll 2003-09-05 11:02
  • JDK1.4.2

set lib=..\..\jogl-win32
set cp=..\..\jogl-win32\jogl.jar
c:\j2sdk1.4.2\bin\java.exe -Djava.library.path=%lib% -cp %cp%;. Lesson18
pause

Ive run Lessons 07,12,18 and 22. They all run fine in windowed mode. But then running in fullscreen will draw the graphics (very first frame) but keyboard does not say anything.

Still, this is better than lwjgl driver where I cannot start anything in G400. It always die on DisplayModes iterator.
http://www.puppygames.net./forums/viewtopic.php?t=224

ps: Its hard to keep track of installed jogl version as dll files don’t have “Properties/Version” tabsheet and .jar file MANIFEST.MF dont have implementation-version valuepair.

Lesson08: Blending
Lesson11: Flag effect
Lesson14: Outline fonts

This is great work, everybody – could one of you organize the tutorials into some set of structured packages that would fit into the jogl-demos source tree? Ideally there would be no dependence on current working directory (i.e., all data files referenced out of a jar file using Class.getResource(), just like the current set of JOGL demos). That way they could be trivially launched over the web using Java Web Start. (I don’t know if this is already the case – haven’t looked at the tutorials in depth.)

At this rate, you guys are going to have all your ports done before I get to my next one! Darn you guys with free time! :wink: