setColourOperationEx maniac!

I can only manage 2 textures for now, but my texture recipe is clean. I need very slow transitions, while very detailed textures. I think I’m OK with this quality.

The basic material uses from 6 to 8 texture units (#3+4 are optional, only for maximum splatting quality).

// down texture
0->setColourOperationEx(LBX_SOURCE1,LBS_TEXTURE);

// down texture details
1->setAlphaOperation(LBX_SOURCE1,LBS_CURRENT);
1->setColourOperationEx(LBX_BLEND_TEXTURE_ALPHA, LBS_CURRENT,LBS_MANUAL,zero,zero);

// base alpha
2->setAlphaOperation(LBX_SOURCE1,LBS_TEXTURE);
2->setColourOperationEx(LBX_SOURCE1,LBS_CURRENT);

// detailed alpha 1 (optional)
3->setColourOperationEx(LBX_SOURCE1, LBS_CURRENT);
3->setAlphaOperation(LBX_ADD_SMOOTH, LBS_TEXTURE,LBS_CURRENT);

// detailed alpha 2 (optional)
4->setColourOperationEx(LBX_SOURCE1, LBS_CURRENT);
4->setAlphaOperation(LBX_MODULATE, LBS_TEXTURE,LBS_CURRENT);

// up texture
5->setColourOperationEx(LBX_BLEND_CURRENT_ALPHA, LBS_TEXTURE,LBS_CURRENT);
5->setAlphaOperation(LBX_MODULATE,LBS_MANUAL, LBS_CURRENT,detail_alpha);

// up texture detail
6->setColourOperationEx(LBX_BLEND_CURRENT_ALPHA, LBS_TEXTURE,LBS_CURRENT);

// lighting
7->setColourOperationEx(LBX_MODULATE, LBS_DIFFUSE,LBS_CURRENT);

Splatting the world…

Step by step. Now, let’s paint the world. The point is to mix different textures smoothly. I’m not gonna need a lot of textures on small scale, but rather a huge amount on large scale. From a technical point of view, it should be more simple. But from a cognitive one, sure it’s gonna be a complete headache 😉

 

Formation flying

Here I’m playing with my fly system. One unit is drived, while the others follow in an [almost] clever way with position presets. Live effect is pretty cool with nothing but a delayed position interpolation.

On the other side, I’m frustrated with my reactor effect. That’s not space-based scenes, hence massive effect looks cheap. I’ll think about that later…

Paging improvement

I’m working right now on a small laptop for self restriction (and avoid the “hardcore gamer minimal specs” effect). But I still have a very impressive speed… too much speed. I was too mean, I guess.

I decided to update my paging system to double the distance view and display a 32 x 32 km scene. I can’t go beyond, or I’ll be stuck with z-depth precision while flying over the clouds.

Fractal Landscape (3)

I now have realtime fractals within something like 5 ms CPU time per frame. Better than in my dreams! I must confess I needed much more computations than I expected. Alas, I’m not the hero on this work. Nowadays CPU power are simply stunning!!!

Pleasant consequence: in this speed quest, I have gained a full set of time benchmark methods, lol.

Fractal landscape (2)

I still got bugs, but landscape looks more and more realistic to me. In fact, that’s not the real problem anymore. Fractal or not, I won’t be able to store something like +13 million vertex per planet anywhere… I need real time processing.

“Real time”… kind term for meaning less than 17 milliseconds of CPU time per frame (on a 60 FPS basis). Ogre has a very impressive speed on its side, nothing to blame. Thus, optimization is needed on my own formulas. I use a lot of cubic interpolation. Maybe could I use GPU i guess? That sounds unneccessarily complicated… I might be able to fit within the CPU. Hope so!

Fractal landscape

Because of planets size… I’m not gonna be able to modelize by myself the entire world before summer 2075. I’m now working on fractal generated scenes, the only solution to get something impressive enough. And for now, I’m quite pleased with my first day result. Should achieve something nice enough in a couple of days…