Real3d microtexture

Technical discussion for those interested in Supermodel development and Model 3 reverse engineering. Prospective contributors welcome.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

Real3d microtexture

Postby Ian » Mon May 02, 2016 4:30 am

Thought I'd write this here rather than it getting mixed up in other threads. It wasn't known if these existed on the model3 or just not used, but clearly they are as show in this pic

http://i.imgur.com/y3XTeIy.jpg

I think I've found what bit in the header turns it on.

Image

Image
Ian
 
Posts: 2044
Joined: Tue Feb 23, 2016 9:23 am

Re: Real3d microtexture

Postby Bart » Mon May 02, 2016 7:49 am

That's the bit I was thinking of when I thought this effect was due to filtering. My hunch regarding microtexture seems to be incorrect. It is either already present in the texture map or is read on-the-fly from some location in VROM or even, possibly, polygon RAM. I'll have to poke around.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Real3d microtexture

Postby Ian » Mon May 02, 2016 9:06 am

I would assume they are loaded like regular textures, possibly without mipmaps
Ian
 
Posts: 2044
Joined: Tue Feb 23, 2016 9:23 am

Re: Real3d microtexture

Postby Ian » Mon May 02, 2016 9:46 am

The product description says this

In order to produce realistic near ground motion cues in visual simulation,
high-frequency contrasting textures are required. To prevent the saturation of normal
texture memory with these short range patterns, the PRO–1000 provides microtexture
storage and processing. Microtexture supplements the texture pattern on a polygon by
adding random texture detail to the texture patterns on polygons that are very close to
the view point. Four 128 x 128 color maps are reserved for microtexture by default. The
host may specify whether to reserve 0, 4, or 8 128 x 128 maps for microtexture.
Ian
 
Posts: 2044
Joined: Tue Feb 23, 2016 9:23 am

Re: Real3d microtexture

Postby LsrgcBath » Mon May 02, 2016 11:12 am

Ian wrote:The product description says this

In order to produce realistic near ground motion cues in visual simulation,
high-frequency contrasting textures are required. To prevent the saturation of normal
texture memory with these short range patterns, the PRO–1000 provides microtexture
storage and processing. Microtexture supplements the texture pattern on a polygon by
adding random texture detail to the texture patterns on polygons that are very close to
the view point. Four 128 x 128 color maps are reserved for microtexture by default. The
host may specify whether to reserve 0, 4, or 8 128 x 128 maps for microtexture.


You guys are awesome, tank u so much guys by going to the bottom of this matter, I am happy to have contributed with my annoying insistence and so have instigated the attention of both of you. :lol:

I'm no expert like you two are, dont understand the magic of creating and understand a code, so correct me if I'm wrong ...

According to what is written, it is like a procedural process for generating textures at random matter, using a common pool of assets,is that or i talked nonsense?

It seems to be precisely tailored to the purpose of use small texture tiles to create the sense of movement in large scale, thereby it uses little memory as the pattern is repeated with only slight changes in appearance of texture, creating a randomness that does not saturate a large ammount of memory.

It can be quite simplistic, but knowing the main nature of Real 3D creation, ie, simulators of all types, is quite reasonable that they thought the use of such dedicated small memory block just to make the visual reproduction of a surface more believable once in movement, with textures being applied over an entire surface without it requires a high cost of memory, eg. the tracks, the ground and landscape ner by the bottom of the cabin in a flight simulator, etc ...
User avatar
LsrgcBath
 
Posts: 130
Joined: Sat Jan 21, 2012 2:43 pm
Location: Brazil - Sao Paulo

Re: Real3d microtexture

Postby Bart » Mon May 02, 2016 12:50 pm

Microtextures are not intended to create a sense of movement (even if that is what the artists are using them for here) but rather to create a sense of fine detail at close distances. There is limited texture memory, so textures are stored at some medium level of detail. When they get too close to the screen, they become a blurry mess. By blending the colored texture with a grayscale pattern containing lots of high-contrast edges, you can create a false impression of finer detail. The microtexture itself is very small and its pattern repeats several times over the underlying texture, which provides the larger-scale variation.

Read this for a good overview of detail textures.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Real3d microtexture

Postby Shekel » Mon May 02, 2016 1:10 pm

There's a big difference between those 2 images and I thought Scud Race was looking the best it could ages ago!

I remember detail textures from mapping with the Source engine.
User avatar
Shekel
 
Posts: 345
Joined: Wed Mar 16, 2016 12:45 pm

Re: Real3d microtexture

Postby Ian » Mon May 02, 2016 3:11 pm

spec also says this

Texture map size may range from 32 by 32 to 1024 by 1024 texels in increments of
powers of 2, i.e. 64 x 128, 256 x 1024 and is defined in rectangular or square format.
Microtexture and texture MIP LODs are included in the texel count.


so im guessing they are just stored in regular texture memory
Ian
 
Posts: 2044
Joined: Tue Feb 23, 2016 9:23 am

Re: Real3d microtexture

Postby Bart » Mon May 02, 2016 5:39 pm

Here is Scud Race's texture RAM interpreted entirely as T1RGB5 in a bitmap file (you can now generate your own, too, if you look at SVN r383's change to Real3D.cpp). Check out coordinate (0,1024) :) I expected this to be an 8-bit grayscale texture but oddly, it looks like T1RGB5! It may be worth adding the texel coordinate format bit to the list of "unknown" header bits so you can inspect it with my analysis system. I've always thought the integral 16-bit format was weird. Worth a look to see if it may actually contain two 8-bit coordinates, one for the microtexture. And on an unrelated note, would be worth a look to see if sky textures use integral coordinates. If so, that ugly seam we see in Scud Race and LA Machineguns may actually be caused by noise from the lower bits... This is just pure speculation, though.

Can't contribute more until Thursday, sadly. But I'll definitely take a thorough look then if you haven't already. Keep me briefed if you end up taking a look yourself.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Real3d microtexture

Postby nuexzz.. » Mon May 02, 2016 6:17 pm

hi guys thanks for all the work they are doing to fix the missing pieces in the supermodel. since you are identifying textures on the sheet (development tools), I wondered if you can leave some lines for future identify, read and replace textures. It would be fun!

THANKS FOR EVERYTHING!!
User avatar
nuexzz..
 
Posts: 374
Joined: Sun Sep 25, 2011 3:10 pm
Location: Argentina

Next

Return to The Dark Room

Who is online

Users browsing this forum: No registered users and 1 guest

cron