Blender Git Commit Log
Git Commits -> Revision 04e6a8c
Revision 04e6a8c by Nicholas Bishop (soc-2010-nicolasbishop) 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)
/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)
/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)