If glew is present it will use it to query for tesselation information.
Otherwise it will use the information provided by the the header
files during compilation.
This is done since the header usually defines opengl
functionality that is not implemented. So it needs
to be queried at runtime using glew if available,
otherwise the use the header information.
This was done since since sometimes the headers indicates
an opengl feature that is not implemented. Now the
function queries the opengl capabilities during runtime
to determine which version to use.
Renamed the existing vtr_regression test to far_regression as the public API is
meant to be the far library, and vtr_regression was really testing through
the far API.
Deleted the old far_regression as it is no longer relevant.
- modified main LimitMask queries to include subdivision Rule
- split internal mask assignments into corner, crease and smooth cases
- adapted all three schemes to the new structure
- completed limit tangents for Loop
- update TopologyRefiner Limit methods to pass newly required Rule
This is the first step to tease off Osd compute controller/contexts
from Far API.
Currently FarStencilTable only creates a kernelbatch for the entire range,
so we can use [0, numStencils) for all cases instead of KernelBatch.
This might not be true if we apply non-factorized level-wise stencils,
then we'll add another modular utility to serve those cases.
PatchTablesFactory fills 20 indices topology into patchtable, and use it for eval and draw.
note: currently screen-space adaptive tessellation of gregory basis patches is
broken and cracks appear around them.
- new Options for Refine() methods for base face and vertex ordering
- removed ignored/unused "full topology" choice from AdaptiveOptions
- added base face and vertex ordering logic to Refinement
- addition of TopologyRefiner members for component counts and max valence
- refactoring of Level additions to update all new member totals
- addition of GetMaxValence() to TopologyRefiner
- updated PatchTablesFactory to user new GetMaxValence() method
- renaming of "Hole" methods for TopologyRefiner and Vtr::Level
When two instances of TBB were present, the system installed version would take
precedence over an explicitly specified TBB_LOCATION path. This change puts
TBB_LOCATION into the HINTS section and leaves the system paths in the PATHS
section.
When CLEW is present, CL functions become macros which may resolve to null
function pointers. A previous change attempted to guard against CL-related
crashes, but introduced compiler warnings.
This change conditionally tests the function when CLEW is present.
Resolves: #400
- updated original FVar inspection to deal witn non-manifold vertices
- updated FVar refinement to handle > 2 faces per edge
- couple of fixes to use parent topology when child not present