-
Posts
23,341 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Blog Comments posted by Josh
-
-
In VS, you also need to go to Help > Send Feedback > Settings and disable feedback. This really grinds your hard drive up.
-
1 hour ago, Marcousik said:
And what about Navmesh ? This should be updated too, the problem was regarding performances on bigger maps....
A static cache will be used for the terrain and other static objects, instead of reprocessing everything every time something changes.
-
Yes, you can manipulate the terrain in real-time with no problems. Collision and everything will work just fine.
- 1
-
Actually I have found the bottleneck is in the data sent to the GPU. I added some tricks and now 1024 goblines are running at 450 FPS on my laptop, a bit faster than the original OpenGL version, even though everything is being drawn twice in the Vulkan renderer for the depth pre-pass.
I am satisifed.
-
If I use shared animations so that less data is being uploaded to the GPU each frame, I get 400 FPS in the Vulkan renderer.
-
The engine will now allocate threads for animation based on how many skeletons there are and the total processing time for the last frame. It will attempt to allocate as many threads as are needed to keep the total processing time down within 60 FPS.
-
I ran the test using the goblin model. On this machine 1024 uniquely animated goblins onscreen runs at 200 FPS. With the old renderer it runs at 380 FPS, but it's not exactly an even comparison. The Vulkan renderer is doing a depth-prepass, so all skinned vertices are actually being rendered twice, once for the prepass and once for the final pass.
If all things were the same, I am sure the VK renderer would be going faster. So we are within the same range as my original tests, and now we have full lighting, normal mapping, and other stuff being processed.
- 1
-
42 minutes ago, Ma-Shell said:
What happened to
where you claimed 200 fps for 10000 characters? Was that all shared skeletons?
I believe the bottleneck in this situation is actually polygons rendered. I previously chose the goblin model because it was low poly, so I should do some more tests using that model instead of the 4000 poly crawler model.
-
19 hours ago, Genebris said:
I feel like this was already discussed but I forgot. Can you still move bones in script? How can you do procedural animation if bones aren't entities?
They still have a position and rotation, they just don’t have all the extra features of the entity class.
- 1
-
I believe that is just how the animation is.
-
The whole concept of “plugins” in C++ is probably erroneous. There’s just libraries you can import. In the case of GA you would prefer to use my nice commands over the ugly raw CURL calls.so a couple of C++ files or a lib you import is probably the right approach there.
- 1
-
Well in this case you can just include the lib in your project and you don’t really need a middle layer for any reason.
-
Is that the original Steam API command?
-
Yeah, I am just wondering how this should be exposed to the programmer. I can think of three different ways to interface with C++:
- Procedural DLL commands.
- Procedural DLL commands with OO wrapper classes.
- OO Static library.
-
Steamworks is another feature I would like to turn into a plugin.
-
We could also use a Crunch CRN loader plugin:
https://github.com/BinomialLLC/crunch -
I think zip supports the same thing.
-
1 hour ago, reepblue said:
Source Engine models have a lot of information in them so I don't know how easy/hard it would be.
But also, this means we can use vpks to store our game data?
Yes. I am curious why you would want to use that format?
-
Someone needs to write a plugin to load Source Engine models. HLLib can handle this:
http://nemesis.thewavelength.net/index.php?p=35 -
You could create your own plugin and expose the FI functions to the engine, or just incorporate the FI library into your project. The source code for the plugin is on Github.
- 1
-
Plugin SDK now available
in Ultra Software Company Blog
A group blog by The Ultra Software Team in General
This has been replaced with this repo:
https://github.com/Leadwerks/PluginSDK -
Another trick you can use is to place a script in the Scripts/Start folder that loads a plugin into a global variable. That way the plugin will always be loaded automatically when your game starts.
-
I see the "values" as being script-defined properties. I am offloading all the particle features and settings into Lua scripts so that there is no limit on the features particles can support..In LE4 we had fixed emission volumes, in the new engine you can add a script for a new emission shape of your own, or whatever you want.
Does that make more sense now?
-
Maybe it is being called somewhere else? I can’t tell without seeing the full program.
Terrain Building API in Leadwerks 5 Beta
in Development Blog
A blog by Josh in General
Posted
Objects are separated into static and dynamic. When a dynamic object moves only the dynamic objects gets recalculated. The static data stays the same.
Shadow maps work with the same principle, so this is actually convenient because static objects can be marked as such for both purposes.