Keep reading the information on voxels, this will be extremely valuable,
Remeber, a voxel is just a representation of 3 space on a uniform grid.
So by using four adjacent voxels representing the Z or height for each
vertex of a quad, and spacing the points of the voxel evenly.
.......
..12...
..43...
.......
The distance between 1-2,1-4 are the same for example 32.
so a quad would be 1= 0,0,voxelheight(1)
2= 32,0,voxelheight(2)
3= 32,32,voxelheight(3)
4= 0,32,voxelheight(4)
By Converting the voxel landscape into a giant quad mesh means
that you can texture at lot easier by using another voxel mesh
representing the texture information.
I hope this helps
Andi............
*---- Andi Smithers ----*
| "SCAR" Project Leader |
| an...@graymatter.on.ca |
| |
| Technology! |
| is not the game |
| just the advertisment |
*-----------------------*
You know, I was just scratching my head today about polygon landscapes as
well... Where could I find info on voxels, and landscape generation in
general?
Thanks for the help,
Alan
Where the heck do people learn this stuff?!... geez, after digging
around without reward for severeal days it's starting to feel like some
kind of esoteric "secret knowledge of the game high wizzards" ;)
I need to build an engine that will generate graphics similar to what
one would see while zipping down a ski hill: some not-too-detailed white
snow with bumps (moguls,jumps) and some mountains and *maybe* trees.
Unfortunately I'm a complete newcomer to 3d graphics programming. This
is the first project I've worked on that required anything more than
simple QuickDraw 3D. ;)
SO...can anyone out there offer any advice? Starting points? If you were
going to sit down to do this, or have sat like-so in the past, what
techniques would you consider?
Probably if you know how to write software like this you're too busy
doing it to help a more inexperienced programmer learn, but if you have
even a moment to send just a quick thought off the top of your head I'd
be forever in your debt. ....and hey, if I get rich, I'll remember who
helped me get there if you know what I mean ;)
Big thanks to anyone who responds,
-carl
(Volumetric effects like fog/snow would be a big bonus!)
[ CHOOOOOOOOOPED]
The following is just an explanation of how I got it voxels:-
Well its been sometime now since I started delving into this style
displaying 3D worlds, about 2 years, So, everything I know is self
taught, absoultely everything. I studied commanche and magic carpet
but that was it. I saw the mars demo april '95. But although 'nice' was
a blantant cheat. It had duplication of the voxels on the horizon and
streched the voxel map at approx 1:4. This was going to be useless. I
found a handful of topics on voxel demos and fractal landscape
generation. To-date the best is still vista-pro. Though bryce on the mac
is an excellent utility.
2 Years ago the only reference I ever found to voxels was in a foley/van
dam bible. This was just the basic premise, even gfx gems had very
little on this little understood topic.
The first game I saw that used this technology stunningly was commanche
on a 386 33mhz about 5 years ago. This was way ahead of its time nothing
compared to its renderering power. This was before the likes of doom,
though I think wolf was around at the time. I don't think voxel space 2
will be that much of an eye opener, but maybe I'm wrong.
One thing I was toying with back in march this year was voxel rendererd
polys. Basically trying to cheat displacement mapping by using a hybrid
of raycasting and polygons. You could use the polygon as a visible
surface approximator then effectivly raycast the polygon. using voxel
data as a height representation. Its more complicated than that, but
this is only a summary not a lecture.
Interesting Demo:-
I saw a demo back in mid august that was by AnimaTek called 'voxel
characters'. I'm not quite sure what they're doing maybe someone else
knows? It looks like true volumetric representation of 3 space, I was
impressed anyway. Check out http://www.animatek.com/
Anyway the upshot of this post is just try it. Raycasting is a simple
process it took me 3 prototypes to end up with a real-time generated
poly mesh. But it started with simple voxel raycasting and evolved
through some strange and still original concepts.
Web page infomation:-
I'm currently putting the finishing touches to my game but when I have
time(and enough interest) I will get my page up and running and discuss
the various methods of renderering voxels and polymeshes. For now, I
would say just do it, Its far more rewarding.
Oh, and one way to get rich is to beat everyone else there first. hehehe
Andi.................
BTW: I did discover that cat scans were what started voxel technology.
or the first pratical application, can anyone clarify or confirm?
--
Well I look forward to seeing your game and the web page, but trust me,
if I could "just do it", I would! I'm not trying to whine here, just
eager to learn and looking for some pointers.
> Oh, and one way to get rich is to beat everyone else there first. hehehe
Good point, but I'm not trying to beat anyones high tech rendering
engine. The type of graphics used in magic carpet will do just fine.
IMHO as a game player: All those guys trying to make money by
programming the absolute fastest 3d engine on earth should stop and
realize that doom doesn't get better just because it gets faster.
3d ehances the visual appeal of the game, it is not the ONLY appeal to a
game (nor even the #1 appeal for me)... deep content wins every time.
But if the rendering time is reduced there might actually be some CPU
left for a bit of a plot to be added to the pretty pictures.
-----------------------------------------------------------------------------
"It's not a personality.. it's a bulldozer" sill...@excession.demon.co.uk
Current project: Computer wargaming's next generation...
------------------------------------------------------------------------------
[most chopped, some left for reference]
> Good point, but I'm not trying to beat anyones high tech rendering
> engine. The type of graphics used in magic carpet will do just fine.
> IMHO as a game player: All those guys trying to make money by
> programming the absolute fastest 3d engine on earth should stop and
> realize that doom doesn't get better just because it gets faster.
>
> 3d ehances the visual appeal of the game, it is not the ONLY appeal to a
> game (nor even the #1 appeal for me)... deep content wins every time.
Your make some excellent points speed is not the be all and end all of
a game. A frame rate between 15-30 frames is fine. Detail, thats what
its all about, all those little touchs like in Duke. Polish makes a
game.
Remember Doom can be said to be Wolf with a lot of polish. On the other
hand look at quake. Nice engine but the game lacks polish.
Soapbox Time(Not for the weak hearted) :-
{
Most High earners make it not so much for fast engines but generic ones.
Ones that can be turned into a flight sim. just as easily as it would be
to convert it into a racing car sim.
They also make it due to consitancy, deadlines, originality, the ability
of mastering not just one field of games programming but many
some examples are:- GUI, AI, Physics, Graphics, Sound and Gameplay.There
are plenty more as well.
Languages are also a help not so much in how they're used but that you
understand the underlying logic of whats going on. Once you know
assembler
your set, its pretty easy to learn med/high languages but once you know
asm and understand its princables it don't matter whether your
programming
a SNES or a PC. Assembler works the same just the opcodes, number of
registers and clock cycles change.
}
Just remember there are top earners, like Dave Perry, that have only
written
generic sidescrollers, but one engine used 3 or more times makes a very
nice bulge in the wallet.
Oh , One reason I post on this group is my willingness to help newbie
programmers, at the moment I am really tied up, though I do try to help
out.
Andi...............
try that finnish ftp site with lotsa info x2ftp.oulu.fi.
I'm working on a nice landscape game here (called MAXX) which is voxels.
You will not be able to tell though. It's not your average semi-gouraud
blahblah mars-ripoff (like so many games seem to do).
Basically, it comes down to interpolating. Interpolate like everything,
and try to do it right. Then... optimize!
There's a lot of stuff on the screen. If you want to do *that* with a
poly engine, you will have to have something which can display 10K persp
mapped polys a frame, well, good luck with that.
It's called MAXX now, scheduled for release early next year.
It's also going to be used in the bonusstage of Jazz Jackrabbit 2 (which
I'm also programming ;-)
-arjan