Have you also tried the same with mesh animations? It seems they eat more resources rather than skeletal animations are. Try to place bee hives, full trash stockpile, hearthfires, etc.loftar wrote:200 cows, 100 pigs:
-
DPblH
- Posts: 432
- Joined: Wed Jun 09, 2010 4:57 pm
Re: Client rewrite β-testing
Give a man a game engine and he delivers a game. Teach a man how to make a game engine and he never delivers anything.
-
loftar
- Posts: 9093
- Joined: Fri Apr 03, 2009 7:05 am
- Location: Your character database
Re: Client rewrite β-testing
If you run it in a terminal, I believe it should dump the list of OpenGL commands that it was trying to execute while encountering that error. If you could do that and post that list, that would be a great first step, please.ubersheva wrote:Any news on the mac client? It still doesnt launch with invalid state error. Like something ogl-related is being done on the wrong thread. I can install eclipse and help debugging it on mac if needed, but i’m completely unfamiliar with 3d programming.
Not sure what you're used to seeing, but this is with 500 beehives:DPblH wrote:Have you also tried the same with mesh animations? It seems they eat more resources rather than skeletal animations are. Try to place bee hives, full trash stockpile, hearthfires, etc.
You do not have the required permissions to view the files attached to this post.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
-
ubersheva
- Posts: 68
- Joined: Thu Apr 15, 2010 8:13 am
Re: Client rewrite β-testing
so the invalid operation GL error was produced by glDrawBuffer command called for GL_BLACK buffer. After adding a call to gl.glGetError() after every run() call in BufferBGL.run() (to consume errors) the client started and I managed to log in. After the login the screen didnt update, but I managed to select a char blindly. The char entered world, screen remained black and the client hang with a new error.ubersheva wrote:Any news on the mac client? It still doesnt launch with invalid state error. Like something ogl-related is being done on the wrong thread. I can install eclipse and help debugging it on mac if needed, but i’m completely unfamiliar with 3d programming.
Code: Select all
#<cmd glTexParameterfv(val$target=3553, val$pname=4100, val$param=[0.0, 0.0, 0.0, 1.0], val$n=0, this$0=#<dummy haven.render.gl.BufferBGL #1>)>
#<cmd glBindTexture(val$target=3553, val$texture=null, this$0=#<dummy haven.render.gl.BufferBGL #1>)>
#<cmd bglCheckErr(val$place=null, this$0=#<dummy haven.render.gl.BufferBGL #1>)>
Exception in thread "Render thread" java.lang.RuntimeException: haven.render.gl.BGL$BGLException: java.lang.RuntimeException: FBO failed completeness test: GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
at haven.JOGLPanel.uglyjoglhack(JOGLPanel.java:188)
at haven.JOGLPanel.renderloop(JOGLPanel.java:209)
at java.lang.Thread.run(Thread.java:748)
Caused by: haven.render.gl.BGL$BGLException: java.lang.RuntimeException: FBO failed completeness test: GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
at haven.render.gl.BufferBGL.run(BufferBGL.java:56)
at haven.render.gl.GLEnvironment.process(GLEnvironment.java:115)
at haven.JOGLPanel.redraw(JOGLPanel.java:139)
at haven.JOGLPanel.access$000(JOGLPanel.java:39)
at haven.JOGLPanel$1.display(JOGLPanel.java:76)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.RuntimeException: FBO failed completeness test: GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
at haven.render.gl.GLFrameBuffer.lambda$null$0(GLFrameBuffer.java:63)
at haven.render.gl.BGL$4.run(BGL.java:112)
at haven.render.gl.BufferBGL.run(BufferBGL.java:49)
... 24 more
-
ubersheva
- Posts: 68
- Joined: Thu Apr 15, 2010 8:13 am
Re: Client rewrite β-testing
it doesnt dump commands, probably because it happens at the very start. it did dump commands in the list after my edits, few last of them included in my previous quote.loftar wrote:If you run it in a terminal, I believe it should dump the list of OpenGL commands that it was trying to execute while encountering that error. If you could do that and post that list, that would be a great first step, please.ubersheva wrote:Any news on the mac client? It still doesnt launch with invalid state error. Like something ogl-related is being done on the wrong thread. I can install eclipse and help debugging it on mac if needed, but i’m completely unfamiliar with 3d programming.
Code: Select all
sheva@MacBook-Pro build % java -cp '*.jar' -Dhaven.defserv=game.havenandhearth.com -Dhaven.resurl=http://game.havenandhearth.com/render/res/ -Dhaven.cachebase=http://game.havenandhearth.com/render/ -jar hafen.jar
2020-02-01 02:16:17.314 java[55511:4697137] WARNING: NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exception in the future. Called from (
0 AppKit 0x00007fff2fef2575 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 371
1 AppKit 0x00007fff2fed9ed5 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1416
2 AppKit 0x00007fff2fed9947 -[NSWindow initWithContentRect:styleMask:backing:defer:] + 42
3 libnativewindow_macosx.jnilib 0x000000014239b77e Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0 + 382
4 ??? 0x000000010be1f9f4 0x0 + 4494326260
)
Exception in thread "Render thread" java.lang.RuntimeException: haven.render.gl.GLException$GLInvalidOperationException: GL Error: 1282 (invalid operation)
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
at haven.JOGLPanel.uglyjoglhack(JOGLPanel.java:188)
at haven.JOGLPanel.renderloop(JOGLPanel.java:209)
at java.lang.Thread.run(Thread.java:748)
Caused by: haven.render.gl.GLException$GLInvalidOperationException: GL Error: 1282 (invalid operation)
at haven.render.gl.GLException.glexcfor(GLException.java:88)
at haven.render.gl.GLException.checkfor(GLException.java:97)
at haven.render.gl.GLException.checkfor(GLException.java:104)
at haven.render.gl.GLEnvironment.process(GLEnvironment.java:126)
at haven.JOGLPanel.redraw(JOGLPanel.java:139)
at haven.JOGLPanel.access$000(JOGLPanel.java:39)
at haven.JOGLPanel$1.display(JOGLPanel.java:76)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" haven.render.gl.GLException$GLInvalidOperationException: GL Error: 1282 (invalid operation)
at haven.render.gl.GLException.glexcfor(GLException.java:88)
at haven.render.gl.GLException.checkfor(GLException.java:97)
at haven.render.gl.GLException.checkfor(GLException.java:104)
at haven.render.gl.GLEnvironment.process(GLEnvironment.java:126)
at haven.JOGLPanel.redraw(JOGLPanel.java:139)
at haven.JOGLPanel.access$000(JOGLPanel.java:39)
at haven.JOGLPanel$1.display(JOGLPanel.java:76)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
at javax.media.opengl.Threading.invoke(Threading.java:193)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
at javax.media.opengl.awt.GLCanvas.paint(GLCanvas.java:582)
at javax.media.opengl.awt.GLCanvas.update(GLCanvas.java:782)
at sun.awt.RepaintArea.updateComponent(RepaintArea.java:255)
at sun.lwawt.LWRepaintArea.updateComponent(LWRepaintArea.java:47)
at sun.awt.RepaintArea.paint(RepaintArea.java:232)
at sun.lwawt.LWComponentPeer.handleJavaPaintEvent(LWComponentPeer.java:1314)
at sun.lwawt.LWComponentPeer.handleEvent(LWComponentPeer.java:1198)
at java.awt.Component.dispatchEventImpl(Component.java:4965)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
^C% -
loftar
- Posts: 9093
- Joined: Fri Apr 03, 2009 7:05 am
- Location: Your character database
Re: Client rewrite β-testing
Right, I seem to have messed that up a bit. Please pull the latest code (including at least 33b18a81) and try again. Also, while you're at it, please enable the DebugGL thing by changing the false on line 139 in JOGLPanek.java to true, so as to check for GL errors on every command.ubersheva wrote: it doesnt dump commands
"Object-oriented design is the roman numerals of computing." -- Rob Pike
-
ubersheva
- Posts: 68
- Joined: Thu Apr 15, 2010 8:13 am
Re: Client rewrite β-testing
With new code and DebugGL2() impl.
Like I wrote earlier, failed commands are glDrawBuffer with 1029 as parameter, which is GL_BACK buffer.
edit: back, not black
Like I wrote earlier, failed commands are glDrawBuffer with 1029 as parameter, which is GL_BACK buffer.
edit: back, not black
You do not have the required permissions to view the files attached to this post.
-
ubersheva
- Posts: 68
- Joined: Thu Apr 15, 2010 8:13 am
Re: Client rewrite β-testing
Ran the app under OpenGL profiler from XCode. Stopped at the moment of INVALID_OPERATION error in glDrawBuffer and dumped some of info from the profiler.
You do not have the required permissions to view the files attached to this post.
-
ubersheva
- Posts: 68
- Joined: Thu Apr 15, 2010 8:13 am
Re: Client rewrite β-testing
ubersheva wrote:Ran the app under OpenGL profiler from XCode.
You do not have the required permissions to view the files attached to this post.
-
shubla
- Posts: 13041
- Joined: Sun Nov 03, 2013 11:26 am
- Location: Finland
Re: Client rewrite β-testing
Code: Select all
java.lang.AssertionError
at haven.render.gl.GLDrawList.add(GLDrawList.java:940)
at haven.render.RenderList.syncadd(RenderList.java:65)
at haven.render.RenderList.asyncadd(RenderList.java:83)
at haven.ShadowMap$ShadowList.draw(ShadowMap.java:200)
at haven.ShadowMap.update(ShadowMap.java:234)
at haven.MapView.drawsmap(MapView.java:838)
at haven.MapView.draw(MapView.java:1401)
at haven.Widget.draw(Widget.java:728)
at haven.Widget.draw(Widget.java:733)
at haven.GameUI.draw(GameUI.java:829)
at haven.Widget.draw(Widget.java:728)
at haven.Widget.draw(Widget.java:733)
at haven.RootWidget.draw(RootWidget.java:68)
at haven.UI.draw(UI.java:150)
at haven.JOGLPanel.display(JOGLPanel.java:322)
at haven.JOGLPanel.run(JOGLPanel.java:381)
at java.lang.Thread.run(Thread.java:748)

I'm not sure that I have a strong argument against sketch colors - Jorb, November 2019
http://i.imgur.com/CRrirds.png?1
Join the moderated unofficial discord for the game! https://discord.gg/2TAbGj2
Purus Pasta, The Best Client
-
maze
- Posts: 2819
- Joined: Sat Mar 27, 2010 3:15 am
- Location: Canada
Re: Client rewrite β-testing
Can we add UI changes into the client rewrite?
would request separating the map and marker's box.
Give a button that would open the markers list.


and fixing how quest compass works.
the way it is now is hella confusing.

maybe just make the market compass by in the map not on screen.
would request separating the map and marker's box.
Give a button that would open the markers list.


and fixing how quest compass works.
the way it is now is hella confusing.
maybe just make the market compass by in the map not on screen.
Administrator of CoS
game ideas
game ideas