Commit Graph

1714 Commits

Author SHA1 Message Date
Takahito Tejima
ef55c48123 Merge pull request #587 from davidgyu/fvarSmoothPatchPostpone
Prepare to defer face-varying bicubic patches
2015-06-03 12:33:05 -07:00
Jeremy Cowles
f35849ef4b Merge pull request #592 from barfowl/far_doxygen
Added Doxygen tags to some Far headers
2015-06-03 12:03:43 -07:00
barfowl
35f64d085d Added Doxygen tags to some Far headers 2015-06-02 23:35:39 -07:00
David G Yu
43cc693c7d Merge pull request #591 from takahito-tejima/dev
Fix gregory patch shader: wrong tangents on corner corners
2015-06-02 18:55:21 -07:00
Takahito Tejima
16d566884a Fix gregory patch shader: wrong tangents on corner corners
Besides we've not been computing accurate derivatives on gregory patch,
there was a separate bug in shaders which gives completely bogus dUdV on
corner vertices. This change fixes that significant artifact, however,
is still approximating derivatives by ignoring rational components.
2015-06-02 18:27:36 -07:00
David G Yu
5590c62f0a Merge pull request #590 from takahito-tejima/dev
Fix tessellation cracks when screen space tesselation is turned off.
2015-06-02 17:27:30 -07:00
Takahito Tejima
670ce267f3 Fix tessellation cracks when screen space tesselation is turned off.
The tess factor of transition edges has to be clamped to 2.
2015-06-02 17:08:17 -07:00
Jeremy Cowles
8966519b8b Merge pull request #589 from barfowl/topology_descriptor
Separated Far's TopologyDescriptor from the RefinerFactory classes
2015-06-02 17:07:18 -07:00
David G Yu
4503ad993e Merge pull request #588 from takahito-tejima/dev
Improve OpenCL/DX interop configuration
2015-06-02 16:52:42 -07:00
barfowl
6c61f1b006 Separated Far's TopologyDescriptor from the RefinerFactory classes:
- moved TopologyRefiner out of the RefinerFactoryBase into Far
    - moved implementation of its Factory<MESH> to far/topologyDescriptor.*
    - updated examples and tutorials (no more references to FactoryBase)
2015-06-02 16:27:19 -07:00
Takahito Tejima
5c54962d3b Improve OpenCL/DX interop configuration
build osd and examples with DX/CL interop only of cmake finds
cl_d3d11.h or cl_d3d11_ext.h.
2015-06-02 16:20:59 -07:00
David G Yu
1c4bdbb726 Prepare to defer face-varying bicubic patches
There's a lot of good foundational work here to eventually support
smooth interpolation of face-varying patches. Unfortunately, this
is not quite ready to release. Therefore, we've decided to defer this
feature until a later release.

This change hides this code behind the FAR_FVAR_SMOOTH_PATCH macro.
2015-06-02 15:28:31 -07:00
Takahito Tejima
36465ed96c Merge pull request #586 from davidgyu/fvarRename
Renamed per-patch face-varying access methods
2015-06-02 14:26:25 -07:00
David G Yu
0243f54b29 Updated patch table face-varying interface
Now the channel specifier is the last parameter in a method's
parameter list with a default of 0.  This is consistent with the
topological face-varying queries and also simplifies the common
case of just a single face-varying channel.
2015-06-02 13:51:32 -07:00
Takahito Tejima
7d2de8bc28 Merge pull request #585 from davidgyu/fvarUniformFix
Fixed face varying shading for examples
2015-06-02 13:13:38 -07:00
David G Yu
d0f8975117 Merge pull request #584 from takahito-tejima/singleCrease
Unlabel rotation of single crease patch.
2015-06-02 13:06:21 -07:00
Takahito Tejima
1e02fbebf8 Sync HLSL shaders for the single crease orientation fix.
- add HLSL equivalents of the previous GLSL change
- rename OsdGetSingleCreaseSegmentParameter to
OsdGetPatchSingleCreaseSegmentParameter.
- add shadingMode UI for dxViewer similar to glViewer
2015-06-02 12:03:27 -07:00
David G Yu
385df434ec Renamed per-patch face-varying access methods
This matches more closely the pattern used elsewhere in Far:
    GetFVarPatchValues() --> GetPatchFVarValues()
    GetFVarPatchesValues() --> GetFVarValues()
2015-06-02 09:13:17 -07:00
David G Yu
89468a40b6 Fixed face varying shading for examples.
Renamed the shader define used by the glViewer and glFVarViewer to
make the intended use more clear and robust.
2015-06-02 08:49:11 -07:00
David G Yu
17fc19ab66 Merge pull request #583 from barfowl/fvar_internal
Renamed internal face-varying methods for consistency with public
2015-06-01 22:54:38 -07:00
takahito-tejima
71470b1ab7 glViewer: mac shader compile error fix 2015-06-01 22:16:43 -07:00
Takahito Tejima
fe92265db9 Unlabel the rotation of single crease patch.
use boundaryMask to identify the crease edge from 4 edges.
with this change, single-crease patch no longer needs to be rotated on
its population.

In shader, experimentally use same infinite sharp matrix for both
boundary and single-crease patch.
2015-06-01 21:26:39 -07:00
barfowl
39eae0195f Renamed internal face-varying methods for consistency with public
- renamed Vtr::Level::getFVarFaceValues() to getFaceFVarValues()
    - updated all usage
2015-06-01 20:31:27 -07:00
George ElKoura
4536d44c31 Merge pull request #582 from barfowl/catmark_adaptive
Disabling feature-adaptive refinement for non-Catmark schemes
2015-06-01 19:02:57 -07:00
George ElKoura
8f7dc4ae8f Merge pull request #581 from barfowl/vtr_members
Re-protected members of all major Vtr classes
2015-06-01 19:01:11 -07:00
barfowl
d8f139ae47 Disabling feature-adaptive refinement for non-Catmark schemes 2015-06-01 18:21:55 -07:00
barfowl
13e0850ac6 Re-protected members of all major Vtr classes:
- change public status of members back to protected/private
    - mimized friends (primarily Refinements as builders for Levels)
    - added any missing accessors to prevent member access (mainly Tags)
    - added the Tri/Quad refinement subclasses to private header list
2015-06-01 17:38:11 -07:00
Jeremy Cowles
5317bf1b7e Merge pull request #580 from barfowl/fvar_values
Renaming of face-varying methods to access values per face
2015-06-01 17:33:54 -07:00
barfowl
dc5056fe76 Renaming of face-varying methods to access values per face:
- replaced FVarFaceValues with FaceFVarValues in a couple Far methods
    - rewrote face-varying Factory assignement to be clearer with terminology
2015-06-01 16:25:44 -07:00
Takahito Tejima
66ea8ab970 Merge pull request #578 from davidgyu/winBuildFix
Added include of algorithm for min/max
2015-06-01 13:46:46 -07:00
David G Yu
5d36d87dda Merge pull request #579 from takahito-tejima/dev
glViewer: separate displayStyle(wire) and shading.
2015-06-01 12:08:02 -07:00
Takahito Tejima
b250fdcfc3 glViewer: fix invalid drawing on the first frame
uniform blocks were not set correctly.
2015-06-01 11:22:32 -07:00
Takahito Tejima
a09539c0a7 glViewer: separate displayStyle(wire) and shading.
- split displayStyle and shadingMode control into two different settings.
- add more shadingModes:
   normal, curvature(screen space), curvature (from patch)
- minor cleanup
2015-06-01 11:13:54 -07:00
David G. Yu
2bad68e029 Added include of algorithm for min/max 2015-06-01 11:12:20 -07:00
George ElKoura
f05281efab Merge pull request #577 from barfowl/far_includes
Removed unnecessary files include by public headers in Far
2015-06-01 08:26:49 -07:00
barfowl
e52dd83b14 Removed unnecessary files include by public headers in Far 2015-06-01 00:14:19 -07:00
George ElKoura
d7994b8f46 Merge pull request #575 from takahito-tejima/examples
examples cleanup: remove framebuffer class
2015-05-31 21:40:09 -07:00
George ElKoura
79db037a21 Merge pull request #574 from barfowl/far_vtr_access
Eliminated direct member access to Vtr classes from Far
2015-05-31 21:35:23 -07:00
Takahito Tejima
85bb0a156e examples cleanup: remove framebuffer class
- the framebuffer class in examples/common is unstable in certain drivers.
removing offscreen rendering for now.
- move screenshot function to GLUtils.
- fix vertex attrib binding bug (not showing control mesh on osx)
2015-05-31 20:52:20 -07:00
barfowl
2e6cab8df4 Eliminated direct member access to Vtr classes from Far:
- added required/missing access methods to Vtr
    - replaced direct member access in Far with appropriate methods
2015-05-31 18:26:13 -07:00
Jeremy Cowles
b83b4e3062 Merge pull request #573 from takahito-tejima/examples
Examples cleanup: factor out control mesh drawing.
2015-05-31 15:50:11 -07:00
Takahito Tejima
7394bf5f51 Examples cleanup: factor out control mesh drawing.
- add GLControlMeshDisplay and D3D11ControlMeshDisplay into
  examples/common
- delete all drawCageEdges/drawCageVertices from viewers and
  use ControlMeshDisplay class
2015-05-31 15:08:37 -07:00
Jeremy Cowles
39e22e55b2 Merge pull request #572 from davidgyu/amdShaderFix
Workaround GLSL shader compiler on AMD
2015-05-31 12:24:39 -07:00
Jeremy Cowles
ed38b28f40 Merge pull request #571 from davidgyu/winBuildFix
Workaround dxPtexViewer link dependencies
2015-05-31 12:24:20 -07:00
David G. Yu
1b6d9ba409 Workaround GLSL shader compiler on AMD
Added a size specifier to the shader output array declaration
in the GregoryBasis and Gregory control shaders. This seems
to be required by the GLSL compiler on AMD and is harmless elsewhere.
2015-05-31 10:59:01 -07:00
David G. Yu
99b214ca92 Workaround GLSL shader compiler on AMD
Added a size specifier to the shader output array declaration
in the BSpline control shader. This seems to be required by the
GLSL compiler on AMD and is harmless elsewhere.
2015-05-31 10:26:50 -07:00
David G. Yu
808d0322fd Workaround dxPtexViewer link dependencies 2015-05-31 10:20:41 -07:00
Takahito Tejima
d470bc81b9 Merge pull request #570 from davidgyu/dxRefactor
Sync'd screen-space single-crease patch fix to DX
2015-05-31 09:08:23 -07:00
Takahito Tejima
cdef7870e7 Merge pull request #568 from c64kernal/dev_arg
Command line options for GL context.
2015-05-31 09:07:14 -07:00
Takahito Tejima
f04bab9143 Merge pull request #569 from c64kernal/dev_glc
Get more viewers using GLUtils.
2015-05-31 09:06:12 -07:00