Commit Graph

1673 Commits

Author SHA1 Message Date
Takahito Tejima
a1424ae163 Fix gregory patch tesslevel computation
- flipping UV
- using limit position in legacy gregory shader.
2015-05-20 18:27:32 -07:00
David G Yu
70e6148a4d Merge pull request #503 from takahito-tejima/refactor
osd layer: Add GLPatchTable and retire DrawContext
2015-05-20 18:22:42 -07:00
David G Yu
7aa6ef8113 Fixed comments and one cut-n-paste typo in Far. 2015-05-20 17:43:13 -07:00
David G Yu
11e987a7d8 Fixed the misspellings of Ignacio Castano's name. 2015-05-20 17:39:06 -07:00
barfowl
be50309752 Fixed missing qualification of IndexArray 2015-05-20 17:21:02 -07:00
barfowl
40832a0f0d Amendment to previous commit deprecating PatchTables::Evaluate methods:
- replaced Evaluate() with EvaluateBasis() in far/tutorial_6
    - commented out use of EvaluateFaceVarying() in examples/farViewer
        - face-varying patches are work in progress
2015-05-20 16:40:32 -07:00
Takahito Tejima
109a3f5383 osd layer: Add GLPatchTable and retire DrawContext
In osd layer, we use GLPatchTable (D3D11PatchTable) as a
device-specific representation of FarPatchTables instead of
DrawContext. GLPatchTable may be used not only for drawing
but also for GPU eval APIs (not yet supported though.
We may add CudaPatchTable etc as needed).

The legacy gregory patch drawing buffers are carved out to
the separate class, named GLLegacyGregoryPatchTable.

Also face-varying data are split into client side for now, until
we add new and more robust face-varying drawing structure
(scheduled at 3.1 release)

Tentatively replicate PatchArray structure in GLPatchTables. It will
be revised in the upcoming change.

Shifting hard-coded SRV locations of legacy gregory buffers in HLSL shaders.
2015-05-20 15:55:06 -07:00
Takahito Tejima
1e89b93e7d Merge pull request #501 from davidgyu/irregularRotate
Fixed handedness flip in Gregory{Basis} shaders
2015-05-20 15:54:07 -07:00
barfowl
891772f58b Refactor public patch evalations methods exposed by Far::PatchTables:
- changes completely deprecate AddWithWeight(T, float, float, float)
    - added new EvaluateBasis() method to PatchTables
    - replaced usage of old Evaluate...<T,U>() methods with EvaluateBasis()
    - removed old Evaluate...<T,U>() methods
    - removed now unused Interpolate...<T,U>() functions in far/interpolate.h
    - moved low-level basis code from far/interpolate.* to patchBasis.*
2015-05-20 15:44:29 -07:00
Takahito Tejima
909f93ef73 Merge pull request #500 from davidgyu/dxfix
Fixed build errors for dxPtexViewer w/ TBB
2015-05-20 14:24:31 -07:00
David G. Yu
00ce36433f Fixed handedness flip in Gregory{Basis} shaders
There was an unnecessary double-flip in the shading calculations.
2015-05-20 14:17:31 -07:00
George ElKoura
b528613de2 Merge pull request #499 from jcowles/dev-bffs-gregory
Break friendship between GegoryBasis and Factory
2015-05-20 14:08:12 -07:00
David G. Yu
7ccf7c3320 Fixed build errors for dxPtexViewer w/ TBB 2015-05-20 13:31:20 -07:00
jcowles
d83f063d93 Break friendship between GegoryBasis and Factory 2015-05-20 13:25:19 -07:00
David G Yu
0811046c2f Merge pull request #497 from jcowles/dev-remove-pragma
Remove #pragma once
2015-05-20 12:57:21 -07:00
David G Yu
841dc02059 Merge pull request #498 from takahito-tejima/dev
Add a HLSL version of GregoryBasis patch shader.
2015-05-20 12:57:10 -07:00
Takahito Tejima
8d9ae550ff Add a HLSL version of GregoryBasis patch shader.
hlslPatchGregoryBasis.hlsl is an equivalent to glslPatchGregoryBasis.
Update dxViewer to be able to switch among bspline, gregorybasis, legacy
end capping.

also fixes a bug of GLSL legacy gregory shader which had an inconsistent
resource naming with example codes.

It looks like there's still an issue of D3D11 patchParam data fetching.
we'll come back to that bug.
2015-05-20 10:49:45 -07:00
jcowles
392e5e8bed Remove #pragma once
While this may be worth revisiting, we should first quantify the benefits and
identify the compilers that support it. Ultimately, we may never use pragma
once in favor of strictly using standard C++.
2015-05-20 09:59:18 -07:00
Takahito Tejima
ab443b8e37 Merge pull request #496 from davidgyu/tbbfix
Added TBB support for MSVC12 / Visual Studio 2013
2015-05-20 08:56:08 -07:00
David G. Yu
204425b20c Added TBB support for MSVC12 / Visual Studio 2013
Also fixed a couple of whitespace alignment discrepancies in the cmake script.
2015-05-19 23:52:51 -07:00
David G Yu
e42885a4cc Merge pull request #495 from c64kernal/dev_farviewerfix
Fixed crash in farViewer when not using Adaptive.
2015-05-19 21:57:20 -07:00
David G Yu
5831bc68f0 Merge pull request #494 from barfowl/test2
Minor performance improvements to Sdc limit masks for the regular case:
2015-05-19 21:57:10 -07:00
David G Yu
1a721d7558 Merge pull request #493 from c64kernal/dev_farviewer
Removed Hbr code from farViewer.
2015-05-19 21:56:48 -07:00
George ElKoura
a586fe1715 Fixed crash in farViewer when not using Adaptive.
Fixed a simple crash in farViewer when not using adaptive.
Also snuck in a small code clean up.
2015-05-19 20:19:54 -07:00
George ElKoura
5d89260d5b Merge branch 'dev' of https://github.com/PixarAnimationStudios/OpenSubdiv into dev_farviewer 2015-05-19 19:23:43 -07:00
George ElKoura
b781c6efd3 Removed Hbr code from farViewer.
The code in farViewer that was used to draw the Hbr representation
of meshes is now gone.  This code was mostly used as a way to compare
against the Vtr implementation.  However, we don't want this to serve
as an example for others as the Hbr code is not meant to be instructive
otherwise.
2015-05-19 19:17:50 -07:00
Takahito Tejima
71a5e8495e Merge pull request #492 from davidgyu/farViewerRefactor
Fixed wireframe drawing for the farViewer
2015-05-19 19:16:23 -07:00
Takahito Tejima
911b5bbfbf Merge pull request #491 from barfowl/test
Move topology queries specific to a level to new Far::topologyLevel c…
2015-05-19 19:16:03 -07:00
Takahito Tejima
e1b128c64d Merge pull request #490 from davidgyu/dxfix
Fixed FindDXSDK to prefer more recent D3DCompile
2015-05-19 19:15:19 -07:00
barfowl
e3db2c94a6 Minor performance improvements to Sdc limit masks for the regular case:
- simple loop unrolling and branch reduction in Loop and Catmark limits
2015-05-19 15:49:19 -07:00
David G Yu
34aac7d0e6 Fixed wireframe drawing for the farViewer 2015-05-19 15:48:25 -07:00
barfowl
33cbbbc4f8 Move topology queries specific to a level to new Far::topologyLevel class:
- added new class to far/topologyLevel.h
    - updated TopologyRefiner to manage set of TopologyLevels internally
    - added TopologyRefiner method to retrieve TopologyLevel
    - redefined obsolete TopologyRefiner methods in terms of TopologyLevel
2015-05-19 15:06:41 -07:00
David G. Yu
b167096dd8 Fixed FindDXSDK to prefer more recent D3DCompile
The most up-to-date version of the HLSL compiler is now shipped as part
of the Windows SDK. Previously, the HLSL compiler was included with
the DirectX SDK.

There is more that we can do to improve this cmake module, but this
makes it more likely to find the correct tool.
2015-05-19 14:47:14 -07:00
Takahito Tejima
6421c52fae Merge pull request #489 from davidgyu/irregularRotate
Fixed varying stencils for end cap patches
2015-05-19 13:19:30 -07:00
Takahito Tejima
2f90e3799a Merge pull request #488 from jcowles/dev-size
Prefix header guards and add pragma once.
2015-05-19 13:18:18 -07:00
David G. Yu
8d33bb8dd9 Fixed varying stencils for end cap patches 2015-05-19 13:00:53 -07:00
jcowles
9d32712ec4 Prefix header guards and add pragma once. 2015-05-19 11:22:37 -07:00
David G Yu
4500f9a679 Merge pull request #487 from takahito-tejima/examples2
remove SupportsAdaptiveTessellation from OsdDrawContext (and example cleanups)
2015-05-19 10:57:57 -07:00
Takahito Tejima
c3aa00e706 remove SupportsAdaptiveTessellation from OsdDrawContext, and example cleanups
As a preparation for retiring DrawContext, move SupportsAdaptiveTessellation
method to examples/common/glUtils, which is renamed and namespaced
from gl_common.{cpp,h} to be consistent to other files.
Same renamings applied to other example files.
2015-05-19 10:30:16 -07:00
Takahito Tejima
de358d7f82 Merge pull request #486 from jcowles/dev-size
Change stencils sizes from unsigned char to int.
2015-05-19 10:29:57 -07:00
jcowles
7b4aa33a1f Change stencils sizes from unsigned char to int. 2015-05-19 10:16:56 -07:00
Jeremy Cowles
d28a5c01c9 Merge pull request #485 from c64kernal/dev_vtrviewer
Renamed vtrViewer to farViewer.
2015-05-19 09:17:07 -07:00
George ElKoura
a79dbcc074 Renamed vtrViewer to farViewer.
The name change is motivated by the desire to reflect that Vtr is
private API and its functionality is exposed publically through Far.
2015-05-18 19:46:22 -07:00
Takahito Tejima
05bbc3bb27 Merge pull request #483 from davidgyu/interpolate
Removed Interpolate{Boundary,Corner}Patch from Far
2015-05-18 18:06:12 -07:00
David G Yu
d97d9941be Removed Interpolate{Boundary,Corner}Patch from Far
Far::GetBSplineWeights() now handles boundary and corner edges.
2015-05-18 15:05:30 -07:00
David G Yu
4ac2fb9909 Merge pull request #482 from barfowl/test
Refactored Far computation of Gregory patch basis functions:
2015-05-16 13:29:50 -07:00
David G Yu
3d7bf8a2a6 Merge pull request #480 from takahito-tejima/refactor
update glShareTopology example.
2015-05-16 13:24:50 -07:00
barfowl
0d7ae5c461 Refactored Far computation of Gregory patch basis functions:
- fixes normalization of (s,t) hidden in Bezier weight computation
    - includes computation of true derivatives for future reference
2015-05-15 18:52:02 -07:00
David G Yu
e378927035 Merge pull request #481 from barfowl/test
Removed more usage of alloca() dependent on maximum valence:
2015-05-15 18:02:23 -07:00
barfowl
2ec507e107 Removed more usage of alloca() dependent on maximum valence:
- replaced alloca() usage in far/gregoryBasis.cpp with StackBuffer
2015-05-15 17:20:03 -07:00