PDA

View Full Version : Vector Based Textures?


Elif Tymes
01-23-06, 02:16 PM
Are they ever going to create vector based textures? Woudn't those be more realistic? I know they would take more processing power, but considering how powerfull systems are now, I don't think it would be a huge jump. Maybe I'm wrong though.

Anyone else have any thoughs on these?

John G
01-23-06, 04:36 PM
I suppose you mean the file format for 2D graphics files layered on the 3D models?

SuperFarStucker
01-23-06, 05:29 PM
What he means is a scalable texture. I.e. it doesn't have a 'fixed' resolution. Doesn't work so well for textures I imagine because they have a lot of detail that is difficult or impossible to efficiently express in mathematical terms, a bitmap is clearly a saner format for textures. IT works great for fonts because they can easily be expressed in mathematical terms.

Dan Derrig
01-23-06, 07:48 PM
theoretically it's possible, but it's a ways off I bet
-Dan

John G
01-24-06, 09:04 AM
What he means is a scalable texture. I.e. it doesn't have a 'fixed' resolution. Doesn't work so well for textures I imagine because they have a lot of detail that is difficult or impossible to efficiently express in mathematical terms, a bitmap is clearly a saner format for textures. IT works great for fonts because they can easily be expressed in mathematical terms.

That's pretty much what I thought he was talking about... They're really kind of a win big, lose big thing.

For something like drawing features on a character's face, they would be incredibly good. Blueprints on a desk...we'd see incredible detail. Wood grain on furniture, maybe. But for a lot of things in nature they just don't make much sense right now.

I would imagine we might start seeing partial usage of them rather than all or nothing. Just guessing, I would think maybe 5 years out? :shrug:

Elif Tymes
01-24-06, 03:33 PM
Well, consider: Alot of natural things are random patterns within tightly constrained spaces. I could easily express my desks texture as a random assortment of scratches, going in different directions. Instead of defining definite textures for each and every object in the game, use a specific algorythm to generate some textures.

I'm not a math major by any means, but shouldn't this be possible?

John G
01-24-06, 03:49 PM
Well, consider: Alot of natural things are random patterns within tightly constrained spaces. I could easily express my desks texture as a random assortment of scratches, going in different directions. Instead of defining definite textures for each and every object in the game, use a specific algorythm to generate some textures.

I'm not a math major by any means, but shouldn't this be possible?

You could, but the thing to do most of the time would probably be for a developer to do that one time to create the content, then save the results so that it at least looked the same way each time a person loaded the game. Random generations of things during play can also lead to bugs.

Although, there are some things that do look the same even if randomized...those would probably work. You'd be trading permanent file space for CPU usage...sometimes it's faster for a CPU to create something new from an algorithm than to retrieve a large file of saved results from a hard disk.

Pie-rate
01-24-06, 03:51 PM
Well, consider: Alot of natural things are random patterns within tightly constrained spaces. I could easily express my desks texture as a random assortment of scratches, going in different directions. Instead of defining definite textures for each and every object in the game, use a specific algorythm to generate some textures.

I'm not a math major by any means, but shouldn't this be possible?
Possible, yes.
However, efficient, inexpensive, practical, no. A texture artist would do nearly the same job more efficiently. What will game companies choose: expensive, long, high bug potential solution or simple, time tested, inexpensive solution?

Plus artists would no longer have jobs :p

Stoanhart
01-24-06, 06:36 PM
Also, if you randomly generated say, a wood texture, you would still have to store it in memory for the duration of the gameing session, because if it was randomly generated for each frame, it would never look the same. It would look like static on a TV.

I guess it would be HD space efficient it it was generated once at load time. Also, it would look good, because it could be generated for the resolution that the game is running on. I think this has actually been done. Does anyone remember that game, it was a 96kb file, and in that little space was an FPS with sound, monsters, real time shadows, and more? All the assets were generated at load time, using a few basic primitive shapes and some formulas for creating them.

edit: here it is. http://www.theprodukkt.com/kkrieger.html

pdehn
01-24-06, 07:42 PM
Also, if you randomly generated say, a wood texture, you would still have to store it in memory for the duration of the gameing session, because if it was randomly generated for each frame, it would never look the same. It would look like static on a TV.

It would be more likely to pre-generate a set of random values that can be used throughout the program in a non-random formula that generates the desired type of texture.

...it greatly reduces relative memory usage, but performance can take a big hit depending on the complexity of the math involved. A simple gradient texture could potentially be faster than reading everything from memory, while a complex image depicting a brick wall with detailed patterns of cracks, stains, etc could bring things to a crawl if it had to be recalculated for each pixel. Of course, in situations where the video memory necessary to store the level of detail in textures is more than what's available, procedural textures tend to perform much better than having to constantly load textures from someplace other than video memory.

Depicting the desired level of detail mathematically can be a difficult; though a combination of various fractals and random noise generation methods has helped overcome that.

This sort of thing has been done, but it's not too common. Try searching for info about "procedural textures" if you're interested. 3D procedural textures in particular have some very interesting potential uses (esp. considering that equivalent non-procedural textures would take absolutely horrendous amounts of memory)

Elif Tymes
01-24-06, 08:39 PM
Wow, I just read some stuff on procedural textures. Very cool! It's exactly what I had in mind. I guess this is still some years off.

Dan Derrig
01-24-06, 09:30 PM
that game is awesome. It looks better than Halo IMO. I bet it's possible to cram a good length game into a floppy...

twoeyes
01-25-06, 10:35 AM
Yeah kkreiger is an interesting game, but really vector based images even now are not up to scratch on 2D images, they just dont get detailed enough (possible but it would take a massive amount of processing power) PLUS it would be just as fast now to make a huge 2048x2048 texture and load it into the memory of the GPU since we're getting up to the 512-1GB range of [texture] memory...

Stoanhart
01-25-06, 12:40 PM
Some more info:

It seems there is a company called SpeedTree, which specializes in procedurally generating... you guessed it... trees! They sell their code to game manufacurers. It is being used in several upcoming games, like Oblivion and some UT3 engine games.

Seems like a good use for multiple cores.

The image is a link to speedtree

http://www.speedtree.com/images/UE3/unreal3_08.jpg (http://www.speedtree.com)

John G
01-25-06, 01:34 PM
That SpeedTree thing is cool... I've been thinking for years that developers should be using tools like that to generate content. It's especially good for pretty much anything in nature: trees, bushes, cacti, ferns, grass, rocks, whatever... You could also extend it to generating characters. ***SpeedOrc*** generate realistic looking orc characters at the touch of a button!!

My thinking wasn't entirely novel on my part, though... I worked a little bit with a rendering program that was targeted particularly to architectural business. It had a plant library to help make pretty pictures with landscaping and stuff. It would procedurally generate trees and such. Pick an apple tree, place it, adjust the size...you could even pick the season. Summer for full of green leaves, spring would give it a bunch of blossoms, fall would turn the leaves orange, and winter would give it the dead stick look... You could really impress someone with your modeling and rendering skills with just a few minutes of work.

seadave77
01-25-06, 02:07 PM
StarDock says Gal Civ II uses vector based textures.

For example, in most 3D games, the textures are bitmapped based. As a result, if you go back and play one of those 3D games a couple years later, the graphcs look muddy compared to the "latest" 3D games. In Galactic Civilizations II, our textures are vector-based which means that we will be able to keep updating them easily to higher and higher resolution. (see this screenshot as an example).

http://www.galciv2.com/

John G
01-25-06, 02:19 PM
RTS's are probably a really good candidate for vector based textures, now that I think about it.

OC Noob
01-26-06, 09:24 AM
Wow, I just read some stuff on procedural textures. Very cool! It's exactly what I had in mind. I guess this is still some years off.


Linkage please. I'd like to read it too.