Forum Groups
  All forums
    Help & Feedback
      Work in progress
      Finished Art
      Non-Max related

Maxunderground news unavailable

REAL-TIME: PTex(per-face texture) Vs. UV Coords and Bitmap?
show user profile  ccampbell
I'm working on a Real- Time WebGL painting/sculpting tool but my performance is slow using PTex.

Does anybody know the impact of using....

as you paint color on the surface each face gets its own texture map (24x24) storing color information. this does not require UV mapping and is very fast from a work flow stand point.

- Vs. -

UV Mapped object:
If I paint onto the surface, the bitmap pixels are updated with the given color (using barry coords i think) and said bitmap is updated / saved as it normally would be.

2k triangles each with 24x24 pixels bitmap space for each face.... I need to update 1,152,000 pixels. If I dynamically increase triangle count(sculpting) this method can grow with the models and no need to update/change UV coords.

UV Map
a single 1024x1024 bitmap has 1,048,576 pixels bitmap space but is not conducive to dynamically increasing triangle count(sculpting).
If the mesh never changes the UV Map is more efficient with 9% fewer pixels to update but... Not sure how the UV space would/could be preserved or even support the new triangles.

Could each face be saved to the same bitmap like a render-to-texture result(or is this just PTex by another name?)

:: ANY thoughts would be very much appreciated ::

$Entrepreneur = if((Designer + Engineer)*Programmer){Problem Solver};

read 293 times
12/21/2016 7:32:56 PM (last edit: 12/21/2016 7:41:49 PM)
show user profile  Bolteon
It really depends on your use case...

If efficiency is your priority (such as an embedded system) than UV mapping is better choice. Conversely, if dynamic throughput is what you need than you'll have a hell of a time doing anything other than PTex unless you're planning on mimicking ZBrush-esque re-topology algorithms.

Side note, I'm stealing your tag line (and modifying it a bit). Also, high five from Southern California.


My version:

$Entrepreneur = if((Designer + Programmer)*Engineer){Problem Solve();
return OnInvestment};

-Marko Mandaric

read 283 times
12/21/2016 8:27:18 PM (last edit: 12/21/2016 8:32:05 PM)
#Maxforums IRC
Open chat window