What I did today

did some JNI c code, tried the new Clion IDE, experienced pain, used netbeans again.

Today, i created two new texture sets for the dungeons…that makes three of them and one to go…

Edit: Added the last set today!

Added a bit of sweet, sexy, entirely superfluous polish:
[spoiler]
https://dl.dropboxusercontent.com/u/10498962/lib/polishallthings.gif
[/spoiler]

I also added a random bunch of words it’ll spit out when you get killed off.

Fanshy new main menu. Calling the game limelight because of the companion light’s color (it’s now lime green… you probably guessed that. Whatever. Stop rolling your eyes.).
Edit: notice the terrifying code in the background, it’s monstrous.

http://recordit.co/LL4vAB3m8E

Finally got normal mapping working 8) thanks to this article. After ~12 hours…
I was way overcomplicating things / trying to make my shader code look exactly like the tutorial shader code.
I then looked back, reverted all changes, and tried to actually understand the code.
Then it turned out i had to add like 5 lines to the fragment shader :point:


if(usesNormalMap > 0.5){
		vec3 nColor = texture(normal_textureSampler, pass_textureCoords).rgb;
		nColor.g = 1.0 - nColor.g;
		unitNormal = normalize(nColor * 2.0 - 1.0);
}

Just finished basic electronic implementation , havent tested power consumers yet but that should be fun. Here is an example of a ship implementing it with solar panels , each produces 10 watts of power , each cable has 1 ohm of resistance which is ridiculously high but is just there to show how the power work , will be something like 0.003 eventually. The second gif which has horrendous quality shows me changing the voltage , for each device it will have a voltage limit , if the voltage goes too high then the device will either explode or set fire but that is miles away for now it just modifies the total wattage produced.

Gif

Smoke tested my Arduino project: LED Music Visualization Frame:

emn7pw13G_E

I improved the performance of the grass rendering a lot. This scene was running at 44 FPS. With the new optimizations, the exact same scene, down to the pixel, runs at exactly 60 FPS.

The grass is drawn as a shitload of simple quads. This causes heavy overdraw, to the tune of 34 million fragments or 16x+ overdraw per pixel at 1920x1080p, before depth and alpha testing. Since alpha testing is used, this disables early depth testing which means that even though something like 80-90% of those fragments never end up on the screen they still cost a lot of performance. Add the fact that the grass is rendered to the G-buffer which consists of 3-4 render targets and you end up with extremely bad performance. What I did was to separate the rendering of the grass into two passes. I first do a depth-only pass which uses a simple shader for alpha-testing the texture. This is reasonably fast even without early-Z since the shader is so simple. In the second pass, I DISABLE alpha testing and change the depth testing function to GL_EQUAL and render the grass as usual. The result is identical to depth testing, but the depth-testing performance is improved a lot even though everything is rendered twice.

Did you tested to sort those quads from front to back. Alpha test does disable early depth test but does not disable hi-z. Probably does not matter because your grass blade seems to be lot thinner than hi-z resolution. Is that foliage deferred or forward?

Have to test this method for Hardland too. I too have tons of foliage and sometimes it can be real performance killer.

Joined in the fun making random galaxies. I’m not trying hard to model a real galaxy, just making interesting places for mission locations.

Found this and I already love it.
http://www.subsim.com/radioroom/showthread.php?t=202304

I haven’t tested sorting them; they’re rendered in the order they’re culled from the quad tree, but this essentially means that they’re sorted in one direction. I do not get a noticeable difference by rotating the camera, which should represent an essentially worst and best case scenario depending on the angle.

Everything’s deferred. 4 render targets.

Just played some more of that sub simulator , started a global nuclear war and yer. it was possibly the most epic thing I have ever experienced in such a simple game.

Straight rendering sprites, there are only 300 of them. The only magic trick is that they get replaced with a plain white circle as the camera zooms out because they are too hard to see otherwise. Wait till I add a fake rotation effect and atmosphere to the planets :wink:

finished another round on spline-interpolations. made it a bit dimension and vector type/class agnostic :slight_smile:

linear :

bspline

catmull-rom

natural-cubic

Natural cubic look nice. Any chance to share the code? How performance compares to catmull-rom?

yea they look like more useful for path animations.

performance is better compared to bspline/catmull but that’s cos’ you have to cache lots of the coefficients (an extra vec4 each controlpoint) while with bsplines/catmull you can compute them in-flight, doing that with natural would be devastating.

code is pretty much inspired by http://www.cse.unsw.edu.au/~lambert/splines/ - it’s more about getting it to blend nicely with the rest of the code/project/utils. not sure if it’d help to post a wall off arrays adding and multiplying the crap out of vectors. :wink:

Any precomputing would not suite for my purposes. I have tested catmull-rom with skeletal animation and it does work really nicely and is basically one line replacement.(if you don’t count nasty “what frames this animation should use” code).

Today I made a teleporter system :smiley:

dXgTaHLMX_c

that’s some huge HUD font :wink: