|
Author Topic:   ROAM Background info around?
Hbringer
New Member
posted January 12, 2000 10:30 AM            
Hey all,

I tried several times to learn C++ when '95 first appeared on the scene (I picked up BASIC and ASSEMBLY on the C64, then took a looong break from programming; unfortunately). I failed miserably (I think pointers really screwed me up the first time around)... But I'm getting tired of simple pseudo-programming and web-scripting with stuff like JavaScript and ASPs, etc.

I have recently picked it back up (with Visual C++ this time instead of Borland). I've also snagged a couple of DirectX books, just because it seems to be that its becoming the dominant API for 3D development.

The thing is, I'd love to eventually be able to put together a terrain renderer. I had a friend / roommate who made the beginnings of one in OpenGL; but it seems that it functioned more like the TRIBES renderer (although the LOD scaling was MUCH less noticeable).

I personally have always loved rendered terrain that looks like the terrains in TreadMarks and Motocross Madness, and the like. I'm assuming from the other discussion on here that its a "ROAM"-type system at work? If so, does anyone have any links or books or other material they can direct me to, to learn more about the theory and details of how its done?

Thanks in advance!

--HB
noel.wade@won.net

Former Levels Dept. Head (retired), Wavelength Editing Site: http://www.planethalflife.com/wavelength

WONswap Webmaster/Engineer: http://wonswap.won.net

Loonygames Contributing Editor (Reviews): http://www.loonygames.com

(/End Excessively Long Signature)

IP:

Cthulhu
Member
posted January 12, 2000 10:37 AM            
Original ROAM paper is available at http://www.llnl.gov/graphics/ROAM/

Read it through few times and then see this forum's post history for lots of additional info.

There is one ROAM implementation not discussed here available at http://www.oz.net/~ddg/

Happy programming

IP:

Hbringer
New Member
posted January 12, 2000 10:42 AM            
Hah. Once I can do more than a simple MFC app, THEN I'll have fun programming.

For now, its just research and learning the terminology ;-)

Thanks!

--HB

IP:

LDA Seumas
unregistered
posted January 12, 2000 11:54 AM           
Also try my programming page, which has an article on Binary Triangle Trees, which are the fundamental data structure of ROAM-style algorithms such as used in Tread Marks.

And don't be scared off by the priority queue and frame to frame coherency stuff in the ROAM paper; Tread Marks doesn't use any of that (no Merging at all), and simply re-builds its binary triangle trees each frame.
http://www.longbowdigitalarts.com/seumas/

------------------
-- Seumas McNally, Lead Programmer, Longbow Digital Arts

IP:

Hbringer
New Member
posted January 12, 2000 12:11 PM            
*chuckle* And I've played it enough to know that it obviously must work!

Thanks... now I just need to get on the fast track to understanding memory management, graphics functions / APIs, texture management, and a few hundred other small things :-)

Appreciate it!

--HB

IP:

Cthulhu
Member
posted January 12, 2000 02:51 PM            
Believe me, I can't do simple MFC app.

IP:

Kaeto
Member
posted February 02, 2000 01:19 PM            
"simple MFC app" Definatly (I canNOT spell that word) look at Seumas's programming page... He explains a lotta stuff in good ways...

IP:

Cthulhu
Member
posted February 02, 2000 03:01 PM            
It's 'definitely'.

If you replied to my message, not the earlier, I can't do an MFC app (at least I think I can't, I'm not so sure what MFC app *really* means), but I will learn when I need to.

I can't stand windows programming but DirectX. It's too, well, too... eh... complicated? no... messy? something like that Too much messing with operating system and messaging and whatever. You don't get a good grip of computer.

IP:

Bryan T
Member
posted February 02, 2000 03:41 PM            
Cthulhu,

MFC = Microsoft Foundation Classes
It's a special set of pre-written stuff that you can use to make toolbars, menus, windows, dialogs, etc. much faster than writing them yourself using the Win32 API calls. It is also only available through Microsoft's Visual C++ compiler product.

"Getting a grip of the computer": Heheh, too true! And it will only get worse with time. It's much simpler to tell the system to "Go draw a window there" instead of "Draw a line here, now a line here, and here too, and now some text here, now clear this space, etc...."

DirectX makes this process simpler because you can say "draw a 2D representation of this object" instead of "Put a pixel of this color at location X,Y. Now put a pixel of this color at location X+1,Y." Believe me, DirectX and OpenGL are Very Good Things(tm).

Hbringer,

I had given a talk on pointers and memory management and optimization to a class of college students. If I still have the syllabus & notes, I'll post it (it's been a good 2 years though).

--Bryan

IP:

Cthulhu
Member
posted February 03, 2000 10:19 AM            
Bryan,

Seems I was right on what I thought MFC was.

I'm not drawing any windows (yet), that's why I haven't learned MFC. And I don't like DirectX's control over things, I'd like to have memory pointers to surfaces without locking etc. What I meant saying 'losing the grip' is that I have to use api functions instead of my own, not exactly knowing what they do. Makes some optimization impossible. DirectX however IMO does let you overrun most of the api.

API:s are of course Very Good Things (tm) for initializing things, since I don't want to write my own drivers

I have previously used Visual Basic and I just hated that I couldn't do some things the way I wanted. Most of these were of course limitations of the language, but some were related to windows controls.

IP: