3d - Future Technics, MegaTextures

For everything that's not in any way related to PureBasic. General chat etc...
SoulReaper
Enthusiast
Enthusiast
Posts: 372
Joined: Sun Apr 03, 2005 2:14 am
Location: England

3d - Future Technics, MegaTextures

Post by SoulReaper »

An interesting read :) :wink:

Q1: What is MegaTexturing technology?

John Carmack: MegaTexture technology is something that addresses resource limitations in one particular aspect of graphics. The core idea of it is that when you start looking at outdoor rendering and how you want to do terrain and things in general, people almost always wind up with some kind of cross-fade blended approach where you tile your textures over and blend between them and add little bits of detail here and there. A really important thing to realize about just generally tiling textures, that we're so used to accepting it in games, is that when you have one repeated pattern over a bunch of geometry, the texture tiling and repeating is really just a very, very specialized form of data compression where it's allowing you to take a smaller amount of data and have it replicated over multiple surfaces, or multiple parts of the same surface in a game since you generally don't have enough memory to be able to have the exact texture that you'd like everywhere.

The key point of that is what you really want to do is to be able to have as much texture as you want to use where you have something unique everywhere. Now normally, you just can't get away with doing that, because if you allocate a 32,000 by 32,000 texture, the graphics curve can't render directly from that. There's not enough memory in the system to do that, and even when you have normal sized textures, games are always up against the limits of the graphics card memory, and system memory, and eventually you've got hard drive or DVD memory on there, but you wind up with a lot of different swapping schemes, where you'll have a little low-res version of a texture, and then high res versions that you bring in at different times, and a lot of effort goes into trying to manage this one way or the other.

So when Splash Damage was starting on, really early with Enemy Territory: QUAKE Wars, they were looking at some of these different ways to render the outdoor scenes with different blends and things like that. And one of my early suggestions to them was that they consider looking at an approach where you just use one monumentally large texture, and that turned out to be 32,000 by 32,000. And I - rather then doing it by the conventional way that you would approach something like this (i.e. - chopping up the geometry into different pieces and mapping different textures on to there and incrementally swapping them for low res versus high res versions), just let them treat one uniform geometry mesh and have this effectively unbounded texture side on there, and use a more complicated fragment program to go ahead and pick out exactly what should be on there, just as if the graphics hardware and the system really did support such a huge texture.

In the end what this winds up getting us is the ability to create a great outdoor terrain texture that has far more complex interactions than anything that you would get with any kind of conventional rendering, where you've built it up out of pieces of lots of smaller textures on there, where they do some sophisticated things with growing grass up between bump maps. And then you can go back and do hand touch ups in a lot of different places to accent around features that are coming out of the surface. And this type of thing is, I'm very sure, going to become critically importance as we go forward into kind of next generation technologies on there. We've seen this over and over as we've gone through graphical technology improvements over the years, where there will be certain key elements that you start looking at in games that look really dated because they don't have the capabilities that people are seeing in sort of the cutting edge things there. And this type of unique texturing over the coming generation of games, I think, is going to be one of those, where when people start looking back at a game that's predominantly piled and doesn't have that unique artist touched sense about all of the scenes, it's going to look very previous generation.

Nice to hear something from Carmack again. Seems like he's been quiet for a long time.

Sorry for the long post...
User avatar
Joakim Christiansen
Addict
Addict
Posts: 2452
Joined: Wed Dec 22, 2004 4:12 pm
Location: Norway
Contact:

Post by Joakim Christiansen »

Cool!
I read it all, i'm a nerd :D
dagcrack
Addict
Addict
Posts: 1868
Joined: Sun Mar 07, 2004 8:47 am
Location: Argentina
Contact:

Post by dagcrack »

Yes but its certainly old news..
And i'm tired of john carmack! (hes the one, suposely, that had the "great" idea first).

This, even if cool.. Wouldnt help you if you don't have a good artistic team anyway.

The idea is simple: Never limit an artist's mind (or .. canvas!), Hence we let him work on a monster-sized canvas, do what he does best and we display it with our own system.

That's just about it.

- edit -
Didnt read it all as it would of been a dejavu but I found the word carmack so I guess its not a deformed text. (deformed as in when someone spreads a news, some others might just take chunks of texts and leave it senseless or author-less or whatever).

Joakim you're not a nerd for that, but even if you were, whats the problem? :lol: - Reading wont hurt anyone (unless he has nails in his eyes)
! Black holes are where God divided by zero !
My little blog!
(Not for the faint hearted!)
User avatar
Joakim Christiansen
Addict
Addict
Posts: 2452
Joined: Wed Dec 22, 2004 4:12 pm
Location: Norway
Contact:

Post by Joakim Christiansen »

dagcrack wrote:Yes but its certainly old news...
That's your standard reply on anything! :lol:
dagcrack
Addict
Addict
Posts: 1868
Joined: Sun Mar 07, 2004 8:47 am
Location: Argentina
Contact:

Post by dagcrack »

:lol: I know!.

Picture it: "Bleh thats old.." * hits the desk and goes for a six-pack of cold beer* *hits the desk once more just to make sure he hit it well*


:shock: !!

But it's really old news!, perhaps because I'm in lots of development mailing lists, etc.. news spread faster through those runways.

I also read lots of papers about new techniques, and so on.
! Black holes are where God divided by zero !
My little blog!
(Not for the faint hearted!)
SoulReaper
Enthusiast
Enthusiast
Posts: 372
Joined: Sun Apr 03, 2005 2:14 am
Location: England

Post by SoulReaper »

Thanks guys :)

Just wanted to see what you all thought...

Picture it: "Bleh thats old.." * hits the desk and goes for a six-pack of cold beer* *hits the desk once more just to make sure he hit it well* LOL :wink:

oh and nails in eyes ouch :shock: :wink:

Regards
Kevin :lol:
dagcrack
Addict
Addict
Posts: 1868
Joined: Sun Mar 07, 2004 8:47 am
Location: Argentina
Contact:

Post by dagcrack »

oh and nails in eyes ouch Shocked Wink
They hurt a little the first time, then you get used to them. They feel nice when they get rusty.

Anyway, even though you have a big terrain, that doesnt mean an infinite world... So I'd rather investigate into procedural methods. Some good algos could lead to some good results.

The more ghz you'll be getting your hands at, the more you'll waste them in an empty loop....... So why don't you guys research a little on procedural texture generation, etc. It's a nice subject.

:lol:


The same way you make a wooden grain texture in photoshop, the same way you can generate it by code. And the same way you add small details by hand on it, the same way your algorithm could handle that.

As for more complex textures (read: composed textures) you could use a masking method and multiple base textures.

Shading, etc. can all be done as well with some simple aproaches.
! Black holes are where God divided by zero !
My little blog!
(Not for the faint hearted!)
User avatar
Joakim Christiansen
Addict
Addict
Posts: 2452
Joined: Wed Dec 22, 2004 4:12 pm
Location: Norway
Contact:

Post by Joakim Christiansen »

My new graphic engine is simulating atoms and molecyles and such!
It gets really nice! :lol:
But you need the new 990 petahertz processor from AMD!
dagcrack
Addict
Addict
Posts: 1868
Joined: Sun Mar 07, 2004 8:47 am
Location: Argentina
Contact:

Post by dagcrack »

If its from AMD, I'd buy it :wink:

However: Its really up to how you're generating the textures And where!... It's not so CPU intensive, First of all, you can create many of the pixel tables in the GPU, secondly... you can fallback to the CPU in case that the GPU can't handle any of your "moves" or in case that you want to process data with both pipes at the same time..

With some basic shape routines, some noise generators, some filters and some deformers: you can pretty much make anything texture-wise.

Not only a composed color map (aka a texture) but also the separate channels... That'd be a colour map, diffuse map, normal map, and so on.

I might post you some results later, among with some numbers.
! Black holes are where God divided by zero !
My little blog!
(Not for the faint hearted!)
SoulReaper
Enthusiast
Enthusiast
Posts: 372
Joined: Sun Apr 03, 2005 2:14 am
Location: England

Post by SoulReaper »

The more ghz you'll be getting your hands at, the more you'll waste them in an empty loop.......
I totally agree with this statement, remember the Amiga & Atari ST!
I learned Machine Code on them a Life time ago....
use to be good at it until i had to move from dos to windoze :cry:

still look on the bright side :)
Pure Basic only gets stronger as the CPUs & GPUs get faster :lol: :wink:
procedural texture generation
Will do :)

Regards
Kevin :wink:
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

Joakim Christiansen wrote: But you need the new 990 petahertz processor from AMD!
Old one...

mine:
Image
dagcrack
Addict
Addict
Posts: 1868
Joined: Sun Mar 07, 2004 8:47 am
Location: Argentina
Contact:

Post by dagcrack »

I think your gpu is at fault, I can see a white rectangle over there :lol: :lol: :lol:
! Black holes are where God divided by zero !
My little blog!
(Not for the faint hearted!)
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

hehe :lol:
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

dagcrack wrote:
The idea is simple: Never limit an artist's mind (or .. canvas!), Hence we let him work on a monster-sized canvas, do what he does best and we display it with our own system.

That's just about it.
You forgot to mention, after work is done, resize monster-sized canvas to a 256x256 texture :twisted:
josku_x
Addict
Addict
Posts: 997
Joined: Sat Sep 24, 2005 2:08 pm

Post by josku_x »

LOL! I got my new Intel J_X Extreme 99999999999999999999 Terahertz (THz)

PS: The J_X stand for Josku_X. Yes, I made my own luxury :wink:
Post Reply