How do I use stencil textures for outlining shapes?

classic Classic list List threaded Threaded
34 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

gouessej
Administrator
"-D" is used to set system properties as far as I remember. Please can you try in command line in order to avoid mixing problems caused by a misuse of your IDE with other problems?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

imakerobots
In reply to this post by imakerobots
Sven, what are you still waiting for from me so that we can move forward on this?

I used the -D parameters in intellij.  nothing changed.

Thank you...!
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

Sven Gothel
Administrator
imakerobots wrote
Sven, what are you still waiting for from me so that we can move forward on this?

I used the -D parameters in intellij.  nothing changed.

Thank you...!
I was waiting for the stdout + stderr output piped and merged as mentioned,
so I can see the exception plus potential issues.
(The part-1 of this issue with JOGL).
I can work on this part right away.
But again, I need the piped output stream, e.g. 'java -D... something 2>&1 | tee a.log'
and that a.log attached. You know the drill - with mentioned set debug properties.

+++

Then .. in a bit, when I have time to jump on the actual outline task,
I would like to work with you on it. But can't promise when exactly.
For myself, this will be part of my Graph work.
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

hharrison
In reply to this post by imakerobots
I can't recall the naming in intellij, but these arguments have to be JVM launch arguments, not arguments passed into your program, which is likley why there wasn't any additional output to stdout/stderr. I believe that is the output SVen needs to be able to make headway.

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

imakerobots
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

hharrison
You need to set them as VM arguments, not environment variables.

https://stackoverflow.com/questions/50938383/how-to-set-jvm-arguments-in-intellij-idea

should give you an example of using -D argument and setting it up in intellij
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

imakerobots
This post was updated on .
Ran the latest OpenGLTestStencil from branch "new-outline" with all the VM arguments, then pressed keys 1-6 to swap between tests, and quit gracefully.
output.txt
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

gouessej
Administrator
imakerobots, I advised you to run the example in command line in order to eliminate potential problems of bugs, limitations or misuses within the IDE. Hopefully, Harvey seems to be familiar with IntelliJ.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

hharrison
Just to avoid confusion....I am not familiar at all with intellij! But it seems like the arguments have been passed correctly now to get the debug outputs that might help narrow down the issue.

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

imakerobots
packaged the latest in the `new-outline` branch.
wrote a run.bat

    java -Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all -cp RobotOverlord-2.7.1-with-dependencies.jar com.marginallyclever.robotoverlord.renderpanel.OpenGLTestStencil 1> output.txt 2>&1

ran it, typed 1-6 keys to run each test, quit gracefully.

output.txt
log.txt
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

Sven Gothel
Administrator
One idea to test to reduce potential side effects while using GLJPanel:
define property 'jogl.gljpanel.noglsl' (-Djogl.gljpanel.noglsl) to disable the GLSL FBO flip.

Other than that, I saw a properly created FBO with DEPTH_STENCIL created: "state OK".
I couldn't find any special exception as mentioned earlier in this thread.
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

imakerobots
This post was updated on .
com/marginallyclever/robotoverlord/renderpanel/OpenGLTestStencil.java in the new-outline branch is my latest.  The goal is to trace the edge of a given mesh with a line of a given thickness.  My understanding is that I should write the shape I want to the stencil buffer, then run a jump-flood algorithm as described in

https://bgolus.medium.com/the-quest-for-very-wide-outlines-ba82ed442cd9

and for which there are JFA samples available at

https://www.shadertoy.com/view/4syGWK
https://www.shadertoy.com/view/WlGyR3

my latest is simply trying to render the stencil buffer to the view so that I can confirm the contents of the stencil buffer match the shape on screen.  to that end I render the quad at 90% size so i can confirm the position of the shape behind the quad.

if you run the test and pres 0-6 you will see different styles of triangles (some drawn with VBOs, some VAOs, etc).  keys 7-9 will use one of three different stencil-to-quad shaders that are trying to bring the stencil texture to the output.  So the most sophisticated test is 6-9.  The results are very odd.  I'd love to know what I'm doing wrong OR the "right" way.  I've already tried offset-along-normal, looks like crud with sophisticated shapes.  If there's another buffer I should use... cool, please point me to the tutorial.  

as an aside, I'd love to have a general way to display various buffers as in https://www.youtube.com/watch?v=PiQ_JLJKi0M
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

imakerobots
In reply to this post by imakerobots
Reddit turned me on to a method that is nearly what I want.

https://imgur.com/a/zWhKMoj

used the stencil buffer to mask some of it, then gl.glPolygonMode(GL.GL_FRONT_AND_BACK,GL3.GL_LINE); to render again with the given glLineWidth().

I still don't know how to render the stencil buffer out to a texture and I might one day revisit this because the line ends aren't as smooth as I'd like... but these are low priority.
Reply | Threaded
Open this post in threaded view
|

Re: How do I use stencil textures for outlining shapes?

gouessej
Administrator
Relying on glLineWidth() isn't future proof but I have no alternative to suggest yet.

Would it help?
https://github.com/connor-penrod/cel_shading_opengl
Julien Gouesse | Personal blog | Website
12