Fun at 700MHz VIII: viscosity

2009-11-04 at 19:20 | Posted in Computer path | Leave a comment
Tags: , , , , ,

Follow your intuition and get nice results. This are screen shoots from the real time demo:

Fun at 700MHz VII: Paisajes

2009-11-04 at 18:39 | Posted in Computer path | Leave a comment
Tags: , , , , ,

So it was really fun to turn for a while to 3D acceleration. Still I wanted to explore a non textured non realistic look. The result is a very simple and phantasmagorycally gloomy engine called Paisajes:

And a video with similar subsampling treatment:

Fun at 700MHz VI: physics engine

2009-11-04 at 18:37 | Posted in Computer path | Leave a comment
Tags: , , , , ,

Have you ever find your self playing much longer than predicted with some kind of physic engine, moving things around just to see how they react?. It just became unbearable not knowing how to make a physic engine so I studied some papers and made this one. When a spinning top shows precession without you having programmed it explicitly you know the physic engine is working right?

Fun at 700MHz V: commercial game

2009-11-04 at 18:21 | Posted in Computer path | Leave a comment
Tags: , , , , ,

This is a game called Resurrection for Dinamic we did with a small team, we where just 4 artists and 2 programmers:

Fun at 700MHz IV: procedural textures

2009-11-04 at 18:12 | Posted in Computer path | Leave a comment
Tags: , , , , ,

Ray tracing wake me up to the enormous possibilities of things that doesn’t exist and because so have infinite detail level and cost 0 bytes of data to store, procedural textures:

Fun at 700MHz III: aliasing

2009-11-03 at 19:32 | Posted in Computer path | Leave a comment
Tags: , , , , ,

We graphic programmers spend our lives fighting against aliasing, it always gets in the way and most of the time complex and heavy cycle consuming strategies are needed to fix the problem. But aliasing can also be harnessed to produce beautiful images, think of aliasing not as some ugly effect that appears when you try to render your images but as: the interference between two unequal patterns. These are some experiments based on the RayWarping engine following these theme, the potential for procedural textures is significant:

Fun at 700Mhz II: RayWarping videos

2009-11-03 at 16:51 | Posted in Computer path | 1 Comment
Tags: , , , , ,

Here there are some real-time videos captured from the RayWarping engine, everything is pure ray tracing. First a video of a procedural city, the textures are hand-made from photos. You may find interesting the first rotating pseudocube (about 45 seconds into the video) above the trees, it is in fact a rotating tesseract projected from 4D into 3D, all is real-time with no precalcs. The ground and the pond have bumpmapping. There are spheres, cones, cylinders, boxes and non-linear cones featuring as geometry. Some of the portrayed materials are crystal and mirror:

This is a realtime walk trough a procedural infinite texture that never repeats itself and shows interestingly symmetric patterns, I call it ‘Alberto’s Maze’. In fact it was later used on my Raydiosity engine as the base for some procedural city like blocks:

Finally just a bunch of geometry randomly put all over the place to see how the RayWarping engine reacts to chaotic arrangements:

Fun at 700MHz: RayWarping renders

2009-11-02 at 14:35 | Posted in Computer path | Leave a comment
Tags: , , , , ,

So I bought a K7 at 700MHz which is still working 24/7 as server at my home and then put it to work: ray tracing rules, I felt that at a very deep level, so I immediately concentrated all my efforts on making a real-time ray tracing engine. It was a little tricky at 700MHz and so it teach me interesting things. This engine was called RayWarping, it was able to move in real-time at low resolution and also synthesising HQ static images usually in less than 10 seconds. To support fast ray tracing I developed a spatial partition I called CNP (Cubic Neighbor Partition). It was in essence a non uniform grid with each face of each cell communicated with each neighbor trough a 2D binary spatial partition. Here are some examples of static images (for real-time videos see next post):

From Intel to AMD

2009-11-02 at 14:00 | Posted in Computer path | 1 Comment
Tags: , , , , ,

Except my first 8 bit computer all the rest until now used Intel CPUs, but not any more AMD began building seriously good cheap chips and so I decided to buy a K5 at 400MHz, what a good processor. Again I felt the duty of putting to use all that new power and began to understand that, with time, raytracing was going to be just the best way to represent things. This are my fisrts experiments:

32 bits rules

2009-11-02 at 11:47 | Posted in Computer path | Leave a comment
Tags: , , , , ,

Yea, I was buzzing with excitement when I got my first 32 bit computer, I jump from a 286 directly to a wonderful 486Dx2 66 MHz without ever having a 386 (which I regard as an incredibly good CPU for that time anyway). I think it was then I began to feel a kind of obligation to make programs that put to use all that overwhelming computer power for a good cause. The math coprocessor of the 486 worked amazingly fast (this was the first Intel CPU with integrated math coprocessor) and I decided to stop using integer fix point arithmetic in favor of 32 bit floating point maths. So all the operations started to be much more accurate and a myriad of new possibilities became reachable. Also the games were better, much better, in fact I spent so much time playing Doom that I could see corridors passing by when I closed my eyes, for real, not joking man. Then I got a Pentium 133MHz (without the division bug) and the floating point arithmetic became so fast I couldn’t believe it. So I kept improving my engines and did a two player tank game among other things. Since the game was made absolutely from scratch it teach me a lot, specially about 3D collision detection. Of course I stopped using Turbo C and started enjoying the DOS4GW world of real 32 bit indexing RAM, so much fun.

« Previous PageNext Page »

Blog at WordPress.com.
Entries and comments feeds.