OpenSubdiv/opensubdiv/osd
manuelk 7954fbab37 Fix tangents in Osd::EvalLimitController
- don't rotate (s,t) coordinates but rotate the patch instead !

- refactor osd/cpuEvalLimitKernels to share Far::PatchTables cubic spline
  interpolation functions : this replaces tensor product formulation with
  weight matrices, which does not really impact performance here, but would
  have to be replaced when implementing regular gridding functions.

- fix OsdCpuEvalLimitController to not rotate coordinates and pass the rotation bitfields

- expose Far::PatchTables spline interpolation API (protected -> public)

- fix glEvalLimit tangent buffers (remove empty padding - see below)

- change policy for tangent buffers : the output buffer descriptor is
  **NO LONGER APPLIED** to tangent output buffers. Tangent primvar data
  buffers are no longer applying the offset and stride from the descriptor
  (because it doesn't make sense to share it). If more flexiblity is
  required, we will consider adding independent descriptors for the tangent
  buffers. This change will impact existing code that generates tangents
  with the EvalLimit controller.

fixes #370
2014-12-25 13:22:27 -08:00
..
Android.mk Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
clComputeContext.cpp Fix Win build 2014-12-03 20:04:35 -08:00
clComputeContext.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
clComputeController.cpp Fix Win build 2014-12-03 20:04:35 -08:00
clComputeController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
clD3D11VertexBuffer.cpp Fix Win build 2014-12-03 20:04:35 -08:00
clD3D11VertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
clGLVertexBuffer.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
clGLVertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
clKernel.cl Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
clVertexBuffer.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
clVertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
CMakeLists.txt Refactor error reporting system 2014-12-03 17:19:07 -08:00
computeController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuComputeContext.cpp Refactor error reporting system 2014-12-03 17:19:07 -08:00
cpuComputeContext.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuComputeController.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuComputeController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuD3D11VertexBuffer.cpp Fix Win build 2014-12-03 20:04:35 -08:00
cpuD3D11VertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuEvalLimitContext.cpp Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
cpuEvalLimitContext.h Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
cpuEvalLimitController.cpp Fix tangents in Osd::EvalLimitController 2014-12-25 13:22:27 -08:00
cpuEvalLimitController.h Fix tangents in Osd::EvalLimitController 2014-12-25 13:22:27 -08:00
cpuEvalLimitKernel.cpp Fix tangents in Osd::EvalLimitController 2014-12-25 13:22:27 -08:00
cpuEvalLimitKernel.h Fix tangents in Osd::EvalLimitController 2014-12-25 13:22:27 -08:00
cpuEvalStencilsContext.cpp WIP limit stencils factory 2014-09-12 16:59:16 -07:00
cpuEvalStencilsContext.h WIP limit stencils factory 2014-09-12 16:59:16 -07:00
cpuEvalStencilsController.cpp Change FarStencilTables indices from 'unsigned int' to Far::Index type 2014-10-09 16:36:23 -07:00
cpuEvalStencilsController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuGLVertexBuffer.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuGLVertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuKernel.cpp Fix inconsistent file access permissions 2014-09-17 13:45:50 -07:00
cpuKernel.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuSmoothNormalContext.cpp Refactor Vtr::Array for better "const" safety 2014-12-15 10:23:13 -08:00
cpuSmoothNormalContext.h Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
cpuSmoothNormalController.cpp Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
cpuSmoothNormalController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuVertexBuffer.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cpuVertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cudaComputeContext.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cudaComputeContext.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cudaComputeController.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cudaComputeController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cudaD3D11VertexBuffer.cpp Fix Win build 2014-12-03 20:04:35 -08:00
cudaD3D11VertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cudaGLVertexBuffer.cpp Fix Win build 2014-12-03 20:04:35 -08:00
cudaGLVertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cudaKernel.cu Fix Cuda compile warning in osd/cudaKernel.cu 2014-09-12 10:43:18 -07:00
cudaVertexBuffer.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
cudaVertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
d3d11ComputeContext.cpp Fix Win build 2014-12-03 20:04:35 -08:00
d3d11ComputeContext.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
d3d11ComputeController.cpp Fix Win build 2014-12-03 20:04:35 -08:00
d3d11ComputeController.h Fix inconsistent file access permissions 2014-09-17 13:45:50 -07:00
d3d11DrawContext.cpp Fix Windows build 2014-11-25 14:14:59 -08:00
d3d11DrawContext.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
d3d11DrawRegistry.cpp Fix Win build 2014-12-03 20:04:35 -08:00
d3d11DrawRegistry.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
d3d11Mesh.h Fixed d3d11 and gl mesh wrappers to be 2014-10-23 13:45:57 -07:00
d3d11PtexMipmapTexture.cpp Fix Win build 2014-12-03 20:04:35 -08:00
d3d11PtexMipmapTexture.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
d3d11PtexTexture.cpp Fix Win build 2014-12-03 20:04:35 -08:00
d3d11PtexTexture.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
d3d11VertexBuffer.cpp Fix Win build 2014-12-03 20:04:35 -08:00
d3d11VertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
debug.h Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
drawContext.cpp Refactor Vtr::Array for better "const" safety 2014-12-15 10:23:13 -08:00
drawContext.h Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
drawRegistry.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
drawRegistry.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
evalLimitContext.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
evalLimitContext.h Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
glDrawContext.cpp Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
glDrawContext.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glDrawRegistry.cpp Fix Win build 2014-12-03 20:04:35 -08:00
glDrawRegistry.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glMesh.h Fixed d3d11 and gl mesh wrappers to be 2014-10-23 13:45:57 -07:00
glPtexMipmapTexture.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glPtexMipmapTexture.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glPtexTexture.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glPtexTexture.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glslComputeContext.cpp Refactor error reporting system 2014-12-03 17:19:07 -08:00
glslComputeContext.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glslComputeController.cpp Fix Win build 2014-12-03 20:04:35 -08:00
glslComputeController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glslComputeKernel.glsl Fix GLSL compute code version defintion 2014-10-20 18:09:30 -07:00
glslPatchBSpline.glsl Improved stability on OSX drivers by not declaring unused shader in/out vars. 2014-10-23 15:59:05 -07:00
glslPatchCommon.glsl Introduces 'single-crease patch' : implements "Efficient Evaluation of Semi-Smooth Creases in 2014-10-13 08:52:09 -07:00
glslPatchGregory.glsl Fix vec array initialization in GLSL & HLSL (should fix some DX compiler problems) 2014-10-04 16:22:43 -07:00
glslPatchTransition.glsl Introduces 'single-crease patch' : implements "Efficient Evaluation of Semi-Smooth Creases in 2014-10-13 08:52:09 -07:00
glslPtexCommon.glsl Fixed vec array initializer. 2014-10-23 13:41:27 -07:00
glslTransformFeedbackComputeContext.cpp Refactor error reporting system 2014-12-03 17:19:07 -08:00
glslTransformFeedbackComputeContext.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glslTransformFeedbackComputeController.cpp Fix Win build 2014-12-03 20:04:35 -08:00
glslTransformFeedbackComputeController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glslTransformFeedbackKernel.glsl Fix GLSL compute code version defintion 2014-10-20 18:09:30 -07:00
glVertexBuffer.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
glVertexBuffer.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
hlslComputeKernel.hlsl Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
hlslPatchBSpline.hlsl Fix vec array initialization in GLSL & HLSL (should fix some DX compiler problems) 2014-10-04 16:22:43 -07:00
hlslPatchCommon.hlsl Move uniform block definitions out of osd common shader into client shader. 2013-12-03 15:59:38 -08:00
hlslPatchGregory.hlsl Fix vec array initialization in GLSL & HLSL (should fix some DX compiler problems) 2014-10-04 16:22:43 -07:00
hlslPatchTransition.hlsl Fixed calculation of screen space LOD tess factors for transition corner patches. 2014-05-02 15:59:30 -07:00
hlslPtexCommon.hlsl Fix vec array initialization in GLSL & HLSL (should fix some DX compiler problems) 2014-10-04 16:22:43 -07:00
mesh.h Add Options structs to Far::TopologyRefiner refinement methods 2014-12-23 10:07:24 -08:00
nonCopyable.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
ompComputeController.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
ompComputeController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
ompEvalStencilsController.cpp Change FarStencilTables indices from 'unsigned int' to Far::Index type 2014-10-09 16:36:23 -07:00
ompEvalStencilsController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
ompKernel.cpp Fix Windows build of Osd OMP CPU kernel 2014-10-23 12:07:12 -07:00
ompKernel.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
ompSmoothNormalController.cpp Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
ompSmoothNormalController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
opencl.h Integrate CLEW into osd library and examples 2014-05-22 09:10:59 +02:00
opengl.h Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
ptexMipmapTextureLoader.cpp Refactor error reporting system 2014-12-03 17:19:07 -08:00
ptexMipmapTextureLoader.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
ptexTextureLoader.cpp Refactor error reporting system 2014-12-03 17:19:07 -08:00
ptexTextureLoader.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
tbbComputeController.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
tbbComputeController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
tbbEvalStencilsController.cpp Change FarStencilTables indices from 'unsigned int' to Far::Index type 2014-10-09 16:36:23 -07:00
tbbEvalStencilsController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
tbbKernel.cpp Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
tbbKernel.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
tbbSmoothNormalController.cpp Refactor Far::PatchTables 2014-11-25 12:41:19 -08:00
tbbSmoothNormalController.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
vertex.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00
vertexDescriptor.h Landing 3.0.0.alpha 2014-09-05 15:07:46 -07:00