Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

8,053 Excellent

About Josh

  • Rank
    Advanced Member

Profile Information

  • Gender
  • Location
    San Francisco, CA

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hmmmm, a lot of GLTF files I am seeing conflict with this. Not sure what the correct method is...
  2. In the GLTF pipeline, ambient occlusion is stored in the red channel of the metal/roughness map: R: AO G: Roughness B: Metalness https://www.khronos.org/blog/art-pipeline-for-gltf This is what our shaders will use in the new renderer.
  3. Upwork is a good place to find this type of help. Also, there is a built-in HTML browser based on Chromium in the Steamworks library.
  4. I'm quite happy with progress. There are no serious issues standing between is and having our PBR lighting working with Vulkan. Shadows will be the next challenge, but I think they will not be too hard. I am taking the day off and started reading a new book, Joseph Conrad's "Heart of Darkness" on which the film "Apocalypse Now" is loosely based (in a different setting).

    1. Thirsty Panther

      Thirsty Panther

      Just finished reading the "Book of the unnamed midwife" series and am now reading "Wizard: Life and Times of Nikola Tesla". Amazing guy did a lot of work with ac power transmission, motors and power generation.

    2. tipforeveryone


      Keep going :) Thanks !!

  5. Implemented early Z-pass in Vulkan. Was not as hard as I thought it would be.

    1. TheConceptBoy


      How do you post status updates on this platform? Do you need special account permissions?

    2. Josh


      @TheConceptBoy There is a box on the forum index page that says "What's on your mind?" above the status updates.

  6. I am considering C# support in the new engine. Not 100% sure but it looks doable.
  7. Vulkan is pretty wonderful because I can take all the optimal techniques I worked out in OpenGL and it just makes everything much faster. I've successfully completed the implementation of early Z-pass, which is important for our lighting system. We are using a forward clustered renderer, similar to the technique id Software's new DOOM games use. Because the fragment shader is fairly intensive, a depth pre-pass is rendered to ensure we only process each screen pixel once. This technique also easily supports transparency with multiple layers of shadows. Vulkan has a feature called subpasses specifically designed for this type of functionality. It's really fantastic to have this kind of fine control over the hardware, even if it does involved some pretty convoluted code. You can read more about this rendering technique below.
  8. Josh

    Lighting in Vulkan

    For all products I plan to offer a subscription and a pay-once model.
  9. It was literally like 100x faster. Vulkan made it 200x times faster.
  10. Is there a setting like “let the application choose”?
  11. Josh

    Lighting in Vulkan

    I have basic point lights working in the Vulkan renderer now. There are no shadows or any type of reflections yet. I need to work out how to set up a depth pre-pass. In OpenGL this is very simple, but in Vulkan it requires another complicated mess of code. Once I do that, I can add in other light types (spot, box, and directional) and pull in the PBR lighting shader code. Then I will add support for a cubemap skybox and reflections, and then I will upload another update to the beta. Shadows will use variance shadow maps by default. With these, all objects must cast a shadow, but our renderer is so fast that this is not a problem. I've had very good results with these in earlier experiments. I then want to complete my work on voxel-based global illumination and reflections. I looked into Nvidia RTX ray tracing but the performance is awful even with a GEForce 2080. My voxel approach should provide good results with fast performance. Once these features are in place, I may release the new engine on Steam as a programming SDK, until the new editor is ready.
  12. The Shape::Box() command takes additional paramters for offset, rotation, and scale.
  13. I just created 100,000 boxes and let them render. It was a test to see how fast the culling system was.
  14. I've done one test against Unity and performance was *significantly* faster in our new engine. Of course I want to wait until we are closer to release before I make these publicly available.
  15. Our new game engine will deliver the fastest performance of any game engine available.
  • Create New...