Wurm Online

[quote]I’d need to z-sort everything each frame, and there can be up to a thousand trees and a thousand “grasspatches” in view at the same time…

That’s 4000 multiplications and 2000 sqrts. :-/
[/quote]
I’m not sure exactly what is happening in this case… but wonder if for sorting purposes you can compare distance squared instead of distance… thus avoiding a square root calculation.

Ah, yes, of course. Doh.

My fps drops from ~45 to ~30 when I’m sorting the grass and rendering it blended. And it doesn’t really look that good.

[quote]/me is jealous of all others being able to see this beautiful world

Maybe I should pray to “Nick” so that he fixes the linux bug by some of his “godly powers” ;D
[/quote]
The other linux user who used to get the same error as you claims it works for him… I’m not sure if he’s just bluffing to get away from bugtesting for me, or if he’s telling the truth. :wink:

Hehe ;D

Well, it’s exactly the same bug as the first time - just that it worked in version ?0.13?. Very strange -
if you could ask him what version of java he’s using and what driver (ati card maybe?)

I’ve got 1.4.2 and nvidia’s latest (geforce2 mx) - could that be something?

i.e.


Java Web Start 1.4.2 Konsol, startades Tue Jul 22 15:54:03 CEST 2003
Java 2 Runtime Environment: Version 1.4.2 av Sun Microsystems Inc.
Loggar till filen: /home/anders/log.txt
Startup
Startupped
java.lang.reflect.InvocationTargetException
        at java.awt.EventQueue.invokeAndWait(Unknown Source)
        at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
        at com.wurmonline.client.WurmClient.clientTick(WurmClient.java:243)
        at com.wurmonline.client.WurmClient.run(WurmClient.java:191)
        at com.wurmonline.client.WurmClient$4.run(WurmClient.java:299)
Caused by: net.java.games.jogl.GLException: Error making context current
        at net.java.games.jogl.impl.x11.X11GLContext.makeCurrent(X11GLContext.java:138)
        at net.java.games.jogl.impl.x11.X11OnscreenGLContext.makeCurrent(X11OnscreenGLContext.java:108)
        at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:156)
        at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:179)
        at net.java.games.jogl.GLCanvas.display(GLCanvas.java:84)
        at com.wurmonline.client.WurmClient$3.run(WurmClient.java:247)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Linux
java.lang.NullPointerException
        at com.wurmonline.client.gui.WorldView.gameTick(WorldView.java:557)
        at com.wurmonline.client.WurmClient.gameTick(WurmClient.java:234)
        at com.wurmonline.client.WurmClient.run(WurmClient.java:215)
        at com.wurmonline.client.WurmClient$4.run(WurmClient.java:299)
[anders@mlundburken anders]$


Could it be that it’s using an old, cached, version of jogl?

I’ll try removing all javaws cache I can find and try again :frowning:

EDIT: no success :frowning:

The “solution” to the problem last time was to force the awt dispatch thread to do all opengl rendering.
Doing that also fixed an occational crash that happened when I was moving a JWindow while the opengl window was repainting.

I’ll add some random sanity checking. =/

ok, it System.out what thread is going in there in the first place now, and I pushed some random code around.


Java Web Start 1.4.2 Konsol, startades Tue Jul 22 17:02:01 CEST 2003
Java 2 Runtime Environment: Version 1.4.2 av Sun Microsystems Inc.
Loggar till filen: /home/anders/log.txt
java.lang.reflect.InvocationTargetException
        at java.awt.EventQueue.invokeAndWait(Unknown Source)
        at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
        at com.wurmonline.client.WurmClient.clientTick(WurmClient.java:258)
        at com.wurmonline.client.WurmClient.run(WurmClient.java:206)
        at com.wurmonline.client.WurmClient$5.run(WurmClient.java:314)
Caused by: net.java.games.jogl.GLException: Error making context current
        at net.java.games.jogl.impl.x11.X11GLContext.makeCurrent(X11GLContext.java:138)
        at net.java.games.jogl.impl.x11.X11OnscreenGLContext.makeCurrent(X11OnscreenGLContext.java:108)
        at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:156)
        at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:179)
        at net.java.games.jogl.GLCanvas.display(GLCanvas.java:84)
        at com.wurmonline.client.WurmClient$4.run(WurmClient.java:262)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Linux
java.lang.NullPointerException
        at com.wurmonline.client.gui.WorldView.gameTick(WorldView.java:557)
        at com.wurmonline.client.WurmClient.gameTick(WurmClient.java:249)
        at com.wurmonline.client.WurmClient.run(WurmClient.java:230)
        at com.wurmonline.client.WurmClient$5.run(WurmClient.java:314)
[anders@mlundburken anders]$

Strangely familiar! (and, yes, I downloaded and played, ehrm, tried to play, the new version) ;D

EDIT: I’m starting to believe my machine is in the twilight zone or something :slight_smile:

[quote]For me it connects to the server, the screen goes blood red, and the error messages state “GL: Invalid Enumerant (1280)”.
[/quote]
This same thing happens on my ATI mobility. The only difference is that the screen actually shows normally instead of blood red. I get 1 fps and the “GL: Invalid Enumerant (1280)” error over and over.

Are you using a pixel shader or some other later GL/NVidia feature?

Another person who got that “GL: Invalid Enumerant (1280)” (he was running an ATi card) thing fixed it by updrading his drivers.

Wurm needs OpenGL 1.4.

I think I’ll add a check on startup. :wink:

There, it won’t start without OpenGL 1.4 now.

AndersDahlberg: Mind trying again? I just made some heavy rewrites.

I’m now using the Animator, like you’re supposed to, and I upgraded to the latest version of Jogl.

[quote]There, it won’t start without OpenGL 1.4 now.
[/quote]
What did you do? It works now. Although the grass can slow it down quite a bit at times. The highest FPS I got was 51, and the lowest was 14. This was in a 800x600 window on my NVidia.

Nothing specific, really… A minor code overhaul, where I fixed most of the things I was telling myself I’d fix “sometime later, it’s not important”.

That rocks !!!

mouselook would be great, to watch the nightly sky :wink:

Greets !

Yeah, as soon as the entire team gets back from vacations and so next week, we’re going to sit down and discuss the client ui.

The way it works now, with having to focus the canvas to move, and the “messages”-frame to chat and so is just not working.

Btw, you can look up and down with home and end on the numpap. :wink:

hehe:


Java Web Start 1.4.2 Konsol, startades Wed Jul 23 16:52:16 CEST 2003
Java 2 Runtime Environment: Version 1.4.2 av Sun Microsystems Inc.
Loggar till filen: /home/anders/log.txt
net.java.games.jogl.GLException: Error making context current
      at net.java.games.jogl.impl.x11.X11GLContext.makeCurrent(X11GLContext.java:141)
      at net.java.games.jogl.impl.x11.X11OnscreenGLContext.makeCurrent(X11OnscreenGLContext.java:111)
      at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:162)
      at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:196)
      at net.java.games.jogl.GLCanvas.display(GLCanvas.java:91)
      at net.java.games.jogl.Animator$1.run(Animator.java:104)
      at java.lang.Thread.run(Unknown Source)

Now I don’t get a NPE, just the above stack-trace and a black window.

Looks more and more like a jogl bug?
EDIT: a black window with a message box :slight_smile:

Yeah, I cleaned up most errors caused by other errors and so…

And, yeah, it does seem more and more like a jogl “bug”. =/

[quote]There, it won’t start without OpenGL 1.4 now.
[/quote]
Great! It doesn’t work anymore on my system. I’ve the latest drivers for my ATI Radeon9700pro installed (Catalyst 3.6) but it keeps telling me that i have OpenGL1.3.3842 and that i need 1.4. Anything else i can do?

One of the last times I tired it, it downloaded OpenGL 1.4 for me

Yeah, wait for ATI to get their act together. :wink:

Seriously, I added a “skip OpenGL version check” option, to let people who “almost” have opengl 1.4 to still play. :slight_smile:

That option will most likely be removed towards release.