I have finished implementing the light theme
That was quick.
Because I have separated the main css and color theme
https://bitbucket.org/JavaSabr/jme3-spaceshift-editor/src/3490c8c0c4d048adf5c847081e9d3dbaa75af5eb/resources/ui/css/light-color.css?at=update_ui_3&fileviewer=file-view-default
I’ve finally spent a lot of time focusing on my baking skills, and this is probably the first decent world model I’ve ever made Right now I’m working on adding an animation and some particles to the red orb on top of the stone’s tower.
I also just finished animating a snake enemy and I’ve been working on the AI for him
I had a partner who was supposed to be doing most of the 3d design, but he never managed to figure out much and make me anything, and he actually just ended up quitting on me so it’s just me working on this project now I’m also waiting on another friend who does 2d graphic design (not 3d unfortunately) to help me out with overhauling the HUD and I hope to make that look prettier and finished soon
SkyHussars R10 is out.
New features:
Fixed bug when it was impossible to start a new mission after exiting one.
Lots of background in preparation of loadable terrain
Airfoils are correctly loaded into PlaneEditor
New terrain texture and terrain model introduced
First cockpit implementation
Shadow bug fixed, it is again possible to see smooth shadows on the surface of the plane.
Refactoring, code improvements in the background.
Edit: at 3:00 a dogfight is captured
I look forward to seeing a night mission.
Sort of sequential gun fire that works by logging when the gun was last fired and if it’s longer than say, reload*2 each weapon picks a random “startup time” of a few miliseconds.
Ends up looking kinda cool without the need for any large and complex system of tracking when each gun was fired and which one is next and so on. The penalty of course is that two guns may still randomly pick the same amount of time to wait, but that’s negligible.
A test of a billboard system, a model is rendered to texture from 8 views, rendered with instancing, the selection of texture offset and rotation of quad is done in vertex shader.
On Intel HD 4400, 100k quads run at ~40 FPS, 1M quads at 7 FPS
As I am planing to use defferred rendering, I used dithering transparency which is apparent in the screenshot as no post processing filters has been applied.
looks amazing!
Can you use a secondary sprite sheet for the model animation? Looks pretty cool. Is hat how Age of Empire did it in old days?
Probably, but I am planing to use it for eg. trees, etc. in the distance. I have tested it on character as it was easier to see which way a char is looking than a tree.
Not sure about AoE, but plenty of recent games use a similar system for far away objects, eg. to achieve dense foilage.
If you post the binary I will test it on my nvidia gt 750m.
SimArboreal and consequently, the IsoSurface demo use a similar imposter system for far trees.
You can see one of the early LOD tests in SimArboreal Editor here:
I use only four imposters though.
Thank you, but its not necessary as its fast enough. I got gt 840m, but I keep it switched off to not overheat the laptop.
Yes, I have seen the video of your system before too. Good work.
How have you implemented it, one quad and rotate all the time or only when swapping image. Does cpu rotate your quads and changes textures/texture offset or gpu?
In any case, one problem that would be nice to be solved is the ‘popping’ that happens on image change and impostor to mesh change.
For the first case, I was thinking if I were to change the image using cpu, I could do the change when the quad is outside of camera view. It has its disadvantages, but its not a bad idea.
Thou atm I do the updates on the gpu, thus all I can think of is some sort of blending depending on the viewing angle.
The texture has all four imposters in one image and then indexes into it. There are four and it both billboards the imposters and switches them based on angle on the GPU.
Fading/disolving with distance (or time + distance) is a separate issue to me.
Edit: one thing to remember is that I often batch heavily. The full (and mid) LOD trees are instanced and the imposters are batched. So the switching/billboading needs to be done on the GPU to make sense.
I see, that’s very similar if not the same way I approached the problem.
I also found one alternative, its called True Impostors. They are more expensive than standard impostors/billboards so they could be used instead of some LOD level.
One other thing I forgot to mention, I also do some lighting trickery in the imposter shader to make them look less flat (I skew the normals at the corners).
One of my low-level LODs is a reduced poly version that uses axis-aligned billboarded quads for each of the main branches. In many cases, at distance this is nearly indistinguishable from the higher up LODs.
It’s fun to play with the LOD types and distance settings in the tree editor to see this in more detail.
I will need to add some improvements before I show that again. Someone suggested navigation lights because without that it is too dark.