Blender Git Loki

Git Commits -> Revision 04e6a8c

August 5, 2010, 00:53 (GMT)
== Ptex ==

initial ptex integration

* added the ptex C++ library to extern

* wrote a small C api for the library; just the functions I've used so
far are in the C api, but easy to add more

* added a new CustomData type (face data), stored as struct MPtex

* added RNA for CD_MPTEX

* each MPtex stores:
** the U- and V-resolution (always a power of two)
** the number of color channels (e.g. RGB or RGBA)
** the data type (can be bytes, shorts, or floats)
** the number of subfaces (for triangles now, will work also for ngons)

* for drawing ptex, one power of two texture is assigned to each face
** for quads, the texture is mapped normally across the full face
** for triangles, the face is split into four quads for drawing, and each
subface gets an equal-sized portion of the texture
** the texture is created with the same internal format as the ptex layer

* added an operator for loading ptex files

* added an operator for creating ptex layers; takes data type, number of
channels, and texel density as inputs. has some hackish code to allocate
texels based on a faces catmull-clark limit surface area

* added a simple ptex UI, shows ptex layers in the mesh data panel

* modified vpaint to paint on ptex instead of mcols


partial todo list:
* VBO drawing (make sure to turn VBO off before testing ptex for now)
* ptex saving
* better texel allocation
* upsampling/downsampling faces
* UI for setting individual faces' resolutions

Commit Details:

Full Hash: 04e6a8c7a21085a3ea52c8222d3eb803cadb24ea
SVN Revision: 31053
Parent Commit: d4f9185
Lines Changed: +11303, -95

33 Added Paths:

/extern/ptex/CMakeLists.txt (+18, -0) (View)
/extern/ptex/ptex.h (+45, -0) (View)
/extern/ptex/ptex_C_api.cpp (+100, -0) (View)
/extern/ptex/src/Makefile (+13, -0)
/extern/ptex/src/ptex/Makefile (+89, -0)
/extern/ptex/src/ptex/Makefile.deps (+25, -0) (View)
/extern/ptex/src/ptex/PtexCache.cpp (+419, -0) (View)
/extern/ptex/src/ptex/PtexCache.h (+300, -0) (View)
/extern/ptex/src/ptex/PtexDict.h (+595, -0) (View)
/extern/ptex/src/ptex/PtexFilters.cpp (+455, -0) (View)
/extern/ptex/src/ptex/PtexHalf.cpp (+105, -0) (View)
/extern/ptex/src/ptex/PtexHalf.h (+118, -0) (View)
/extern/ptex/src/ptex/PtexHashMap.h (+352, -0) (View)
/extern/ptex/src/ptex/PtexInt.h (+57, -0) (View)
/extern/ptex/src/ptex/PtexIO.h (+119, -0) (View)
/extern/ptex/src/ptex/PtexMutex.h (+79, -0) (View)
/extern/ptex/src/ptex/PtexPlatform.h (+160, -0) (View)
/extern/ptex/src/ptex/PtexReader.cpp (+1357, -0) (View)
/extern/ptex/src/ptex/PtexReader.h (+613, -0) (View)
/extern/ptex/src/ptex/PtexSeparableFilter.cpp (+389, -0) (View)
/extern/ptex/src/ptex/PtexSeparableFilter.h (+80, -0) (View)
/extern/ptex/src/ptex/PtexSeparableKernel.cpp (+149, -0) (View)
/extern/ptex/src/ptex/PtexSeparableKernel.h (+473, -0) (View)
/extern/ptex/src/ptex/PtexTriangleFilter.cpp (+261, -0) (View)
/extern/ptex/src/ptex/PtexTriangleFilter.h (+78, -0) (View)
/extern/ptex/src/ptex/PtexTriangleKernel.cpp (+179, -0) (View)
/extern/ptex/src/ptex/PtexTriangleKernel.h (+227, -0) (View)
/extern/ptex/src/ptex/Ptexture.h (+984, -0) (View)
/extern/ptex/src/ptex/PtexUtils.cpp (+677, -0) (View)
/extern/ptex/src/ptex/PtexUtils.h (+199, -0) (View)
/extern/ptex/src/ptex/PtexWriter.cpp (+1400, -0) (View)
/extern/ptex/src/ptex/PtexWriter.h (+193, -0) (View)
/source/blender/editors/sculpt_paint/ptex.c (+331, -0) (View)

23 Modified Paths:

/extern/CMakeLists.txt (+2, -0) (Diff)
/release/scripts/ui/properties_data_mesh.py (+16, -0) (Diff)
/source/blender/blenkernel/intern/cdderivedmesh.c (+7, -1) (Diff)
/source/blender/blenkernel/intern/customdata.c (+28, -3) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+6, -3) (Diff)
/source/blender/blenlib/BLI_pbvh.h (+2, -2) (Diff)
/source/blender/blenlib/intern/pbvh.c (+10, -7) (Diff)
/source/blender/blenloader/CMakeLists.txt (+1, -0) (Diff)
/source/blender/blenloader/intern/readfile.c (+13, -0) (Diff)
/source/blender/blenloader/intern/writefile.c (+24, -0) (Diff)
/source/blender/editors/sculpt_paint/CMakeLists.txt (+1, -0) (Diff)
/source/blender/editors/sculpt_paint/paint_intern.h (+4, -0) (Diff)
/source/blender/editors/sculpt_paint/paint_ops.c (+4, -0) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex.c (+225, -74) (Diff)
/source/blender/editors/sculpt_paint/pbvh_undo.c (+3, -0) (Diff)
/source/blender/gpu/CMakeLists.txt (+2, -1) (Diff)
/source/blender/gpu/GPU_buffers.h (+6, -0) (Diff)
/source/blender/gpu/intern/gpu_buffers.c (+197, -2) (Diff)
/source/blender/makesdna/DNA_customdata_types.h (+3, -1) (Diff)
/source/blender/makesdna/DNA_meshdata_types.h (+20, -0) (Diff)
/source/blender/makesrna/intern/rna_mesh.c (+88, -1) (Diff)
/source/blender/makesrna/RNA_access.h (+1, -0) (Diff)
/source/creator/CMakeLists.txt (+1, -0) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021