Jump to content

Josh

Staff
  • Posts

    23,402
  • Joined

  • Last visited

Blog Comments posted by Josh

  1. Oh yeah, there is something else I have to do this weekend. I have to finish a description of the technology I am filing a patent for. I'm working with a law firm with some folks from Oculus, with the idea that they will have a better understanding of this type of tech. Once the provisional patent application goes in, the clock starts ticking and I have one year to file the full utility patent. The patent makes the company valuable, and increases the chances that Valve will buy the company and hire me to make their future dev tools.

    • Like 3
  2. Honestly, right now I am approaching my breaking point. Explaining the last three years of work in a rigorous academic format was hard. The whole process from conception of the idea, to experimenting with it, finding out it actually works, implementing the full solution, and then creating the final benchmarks, which turned out VERY VERY good...it has been a huge journey and I think I am presently the only person in the world who is aware of just how big this is. I applied for some grant money from the U.S. government, and that could make a big difference, so fingers crossed. My plans for the rest of the day are to maybe drink some tea. That's all I can answer right now.

    • Like 1
  3. On 4/19/2018 at 9:12 PM, Crazycarpet said:

    The reason you'd want to multithread the command process is for situations where big, new, powerful GPUs are bored because the CPU's one thread can't send it commands fast enough to utilize it to the fullest extent. That's not a fair analogy :P so long as your GPU can handle it, why would you not want to throw more work at it? Modern GPUs (10 series, etc) can certainly handle it.

    A great GPU can handle anything a single core on your CPU can throw at it with ease, so you want to throw more at it. This is the most common bottleneck in games these days with how powerful GPUs are getting. The better your GPU, the better these optimizations will help, it's more planning for the future because as time goes on you'll see more and more improvements from this type of multi-threading, that's why DX12 and Vulkan moved towards it.

    Anyways like I said, it isn't usually necessary but it would be optimum, just food for thought so you consider this design if you move towards a Vulkan renderer. It'd be a shame to use Vulkan and just move all the rendering to a thread, instead of using all available threads for command buffer generation.

    Your general sentiment is correct, but the fact is, the idea of "commands" is kind of antiquated. It's more like "hi, I am the rendering thread, here is a block of bytes you will interpret a few times before the next block of bytes arrives, k thx bye".

  4. 3 hours ago, gamecreator said:

    Wow.  This is a huge improvement over the current system.  Make it dynamic and it'll be perfect.  ?

    I'm not clear on how finding points on the navmesh works.  How do you do a pick on the navmesh?  Or does IntersectsPoint check a radius around the point and return the nearest one?  If so, how do you change that radius?

    In this example I am doing a regular camera pick and then checking to see if that point lies on the navmesh. I do not have the radius value exposed because I didn't see a point to that, but if you want I will add that in as an optional parameter.

  5. 34 minutes ago, Lethal Raptor Games said:

    Looks great!  What if we wanted to animate an object manually? Like use code to make a player walk over certain obstacles, is this possible?

    Bones can also be positioned with code, using many of the same commands as the entity system (although they are not the same code internally).

    • Thanks 1
  6. Just now, gamecreator said:

    Do you know yet if you'll improve on the navmesh (i.e.: make it dynamic) and the water (multiple non-infinite planes, return of oceans, rivers)?

    Navmeshes will be dynamic, and will need to be created in a certain area instead just being everywhere across the world. You can have multiple navmeshes.

    I am planning for water to use the same reflection system that is in use for all surfaces, so there is nothing special about its appearance. The physics would be easy to contain in a volume, so you could have lots of different blocks of water here and there.

    • Like 2
  7. The pink normal maps were bothering me so I made it so when the engine encounters a DXT5n image (these will only come from LE4 .tex files) it converts it to RGBA and swizzles the red/alpha channel. So you can say goodbye to pink normal maps forever, and I can remove the swizzle functionality in the Vulkan texture class. You should use BC5 for compressed normal maps.

    dxt5n.thumb.jpg.a9e8ec0ea566ddc9f47359f2922dc79e.jpg

  8. I was curious to see what would happen if I ran the compressable images through Crunch. The final result was 27 MB, which is 55% the size I got already and 25% the original uncompressed data size (with several minutes of processing time). This isn't a huge difference over the existing compression, but it's enough to consider working that into the pipeline in the future. For general texture data, it could definitely make your game install size quite a bit smaller, if you were using DXT but BC7 is so much better I don't see why you would want to.

×
×
  • Create New...