[Bf-committers] Interest in GSoC 2010 topics: 1. "Integrate PTex texture mapping library" 2. "Unit tests"

Konrad Wilhelm Kleine konrad at konradwilhelm.de
Mon Mar 29 10:59:59 CEST 2010


Hi,

it took me a while to write on my GSoC proposal because my sister
arrived in Spain and we did a lot of travelling with her the last days.
I am continuously working on my proposal here:
http://wiki.blender.org/index.php/User:Kwk/Gsoc2010/Proposal . Currently
it is missing the Deliverables, Project Details and Project Schedule
sections because I need to know a bit more about the internals of
Blender's painting and rendering code.

If I will be chosen for the Ptex GSoC project I would like to implement
some of the features shown in this 3D-Coat video:
http://www.youtube.com/watch?v=4137te68FP4 . These features include:

(A) Direct texture painting (color, specularity, displacement etc.) onto
the model using different brushes (probably sharing code with the
sculpting and painting system here). No manual UV setup is required here.

(B) Ability to manually adjust the texture resolution for selected faces.

What do you think of these deliverables? Do you have other targets in mind?

I read the Ptex paper again and was wondering about the parts where
Pixar's Renderman (PRMan) somewhat acts a solution to problems that can
arise by using Ptex. I list the problems and their solutions here for
further discussion on how far the solution is already in Blender or
shall be part of the GSoC Ptex Blender project:

1.
When an anisotropic filter kernel is applied to two faces with different
texture resolutions, Ptex tries to make "more consistent normals" on the
edges (section 6.2 in Ptex paper). If these edge normals do not
perfectly align there will obviously be lighting artifacts. Now in the
paper it says that this isn't a problem because PRMan automatically adds
micropolygons to fill the gap. If I'm not totally wrong, Blender doesn't
have micropolygons, right?

2.
With the introduction of BMesh one is no longer restricted to have only
quad or triangle faces in a mesh. I think that Ptex only supports quad
(see section 8) and triangle meshes (see API doc Ptex::MeshType
http://ptex.us/apidocs/structPtex.html#07c6a29e1842cfe0b195bded79117db6). Despite
the fact that they say, Ptex can be extended to support non-quads, Walt
Disney relies on PRMan which "subdivides non-quads into quads before
dicing into grids". Is Blender also doing it this way or is it part of
the GSoC project to integrate Ptex into Blender with support for
non-quad/non-triangle meshes? In my opinion this would be great to do
after GSoC because it involve a modification to Ptex and is therefore
not directly related to Blender.

3.
Ptex pre-samples textures to avoid mipmap discontinuity. It says in the
paper that textures with different resolutions have differently dense
texture space "grids". One more time Walt Disney relies on PRMan and
it's "smooth derivates" feature which makes du and dv values "continuous
across the surface before passing them to the shader". Does Blender have
a comparable feature?


Konrad


More information about the Bf-committers mailing list