(October 2024) Monthly WIP Screenshot Thread

A quick and ugly demo of my “3d skybox” implementation:

I made a simple source inspired “3d skybox” where in addition of the jME’s SkyFactory I can now set a model to be rendered in the background.
I render it to a different view port on the back using a different camera.
This camera’s position is scaled down from the main camera so the actual model you see here is about 10 units squared so it doesn’t get culled by the back plane. I show this by changing the render distance in the settings menu.

A few quirks I found:

  • I use the default Opaque bucket because the Sky bucket doesn’t seem to render the triangles in the right order (I guess this is an optimization since it’s unnecessary for a sphere).
  • The back scene of the viewport has to be under the root node (or I get an error) so it would be picked by the main view. I put it under a node with cullhint always to fix it, another way would be to reconfigure the main view port with a new scene root under the original root. At least that’s what I figure it happens.
  • I have to set to false the clear flags of the main view port while the skybox is present.
11 Likes

Set up a camera system in JMonkey. Simulated the same system in Blender for authoring purposes. Now the game is going to have Cinematics.

Socials:
Youtube: @PixelappOfficial
Instagram: @PixelappOfficial

8 Likes

Creating an introduction scene for the story line.

Double-posting because this is too good. :wink:

Edit 1:

Preliminary version of the cinematic running in JMonkey.

I’ll fix the lighting later.

8 Likes

Can you find the FORBIDDEN SERUM? :wink:

Edit 1:

Behold!

My most complex (made by me) environment to date.

Edit 2:

Say hello to the cat.

7 Likes

not much changes on the visual side but plenty under the hood.

Recreated the animation system that will run server side for the pieces. Made the tiles animate following a parabolic curve before shuffling.

It may change in the future

I will add a table in the future so you do not have to see the pieces bellow :stuck_out_tongue:

7 Likes

This isn’t a screenshot, but I thought I’d share it anyway. :smiley:

I found a way to create working matdefs and shaders with Java. I really like it because it removes the hassle of creating two or three extra files for every single gpu operation.

ImmediateShader frag = new ImmediateShader(Shader.ShaderType.Fragment, true)
    .includeGlslCompat()
    .uniform("sampler2D", "Texture1", false)
    .uniform("sampler2D", "Texture2", false)
    .uniform("float", "Divide", false)
    .uniform("float", "DividerThickness", false)
    .varying("vec2", "texCoord")
    .main()
        .assign("float", "dist", "abs(m_Divide - texCoord.x)")
        ._if("dist < m_DividerThickness")
            .assign("gl_FragColor", "vec4(1.0)")
        ._elseif("texCoord.x < m_Divide")
            .assign("gl_FragColor", "texture2D(m_Texture1, texCoord)")
        ._else()
            .assign("gl_FragColor", "texture2D(m_Texture2, texCoord)")
        .end()
    .end();
ImmediateMatDef matdef = new ImmediateMatDef(frameGraph.getAssetManager(), "TextureSlider")
    .addParam(VarType.Texture2D, "Texture1")
    .addParam(VarType.Texture2D, "Texture2")
    .addParam(VarType.Float, "Divide", 0.5f)
    .addParam(VarType.Float, "DividerThickness", 0.001f);
matdef.createTechnique()
    .setVersions(450, 310, 150)
    .setVertexShader("RenthylCore/MatDefs/Fullscreen/Screen.vert")
    .setShader(frag)
    .add();
Material mat = matdef.createMaterial();

It certainly doesn’t replace j3md and shader files, but it’s super handy for creating small gpu programs and materials on the fly.

If anyone wants to give it a try, I’ve added ImmediateMatDef and ImmediateShader to my utility library. You can just copy/paste the code if you want to, since I haven’t managed to get gradle working yet. :grin:

Edit: ImmediateShader has to be registered as an asset locator to work properly.

assetManager.registerLocator("", ImmediateShader.class);
13 Likes

Modeled and textured sneakers for one of my promotional characters.

Here’s said promo BEFORE the sneakers were created.

https://www.youtube.com/shorts/1Cz3dTHZVBg

Edit 2:

Below is a preview of a new environment I’m almost finishing it. In this environment you discover the explosive grenade. :exploding_head:

5 Likes

Wow very nice.
Your modeling skills is getting better and better.
I like it.

2 Likes

My most advanced character to date. Rigged to dance.

It’s important to note that my workflow allows me to create any such character in 3 days. So I can create an entire town of unique characters quickly.

2 Likes