barry
6bac5aeb4a
Work around for possible precision issue in new far/tutorial_9:
...
- extend AddWithWeight() to use double to support instantiation of
double precision local point StencilTable
2018-09-11 17:48:50 -07:00
barry
4f482febfa
Added new far/tutorial to illustrate use of sparse PatchTables:
...
- added tutorial/far/tutorial_9 with source for new tutorial
- updated tutorial/CMakeLists.txt to deal with header path issue:
- inclusion of code from regression/common required extension
2018-09-11 16:16:15 -07:00
barry
f58330fdee
Minor extensions to Far classes to help manage large PatchTables:
...
- overloaded PatchTableFactory::Create() to take subset of base faces
- overloaded TopologyRefiner::RefineAdaptive() to take subset of base faces
- added TopologyRefinerFactory::Create() to create new TopologyRefiner
that shares base level with another, allowing independent refinement
- overloaded PatchTable::ComputeLocalPointValues...() to accept split
buffers with separate base-level primvar values
- overloaded StencilTable::UpdateValues() to accept split buffers as above
2018-09-11 16:13:06 -07:00
David G Yu
c566e8f2ab
Merge pull request #988 from barfowl/sparse_matrix_additions
...
Minor improvements to internal Far::SparseMatrix class
2018-08-29 18:22:35 -07:00
David G Yu
bb826b0f7d
Merge pull request #987 from barfowl/vtr_indexing_bug
...
Fix rare non-manifold topology indexing issue in Vtr::Level
2018-08-29 18:22:18 -07:00
David G Yu
5ccf0c2ad1
Merge pull request #986 from barfowl/new_patch_table_factory_options
...
Added flags to Far::PatchTableFactory::Options to address open issues
2018-08-29 18:21:04 -07:00
Barry Fowler
bb11efdbf4
Merge pull request #989 from davidgyu/travis_ci_update_fix
...
Great, thanks for fixing this!
2018-08-29 14:46:16 -07:00
David G Yu
3146041858
Fixed travis-ci build scripts
...
Try to improve the stability of the travis-ci linux
build by running apt-get update before installing X11
dev dependencies.
2018-08-29 14:20:35 -07:00
barry
86dd8cc912
Bug fix and method addition to Far::internal::SparseMatrix:
...
- fixed error in Copy() causing compilation failure on instantiation
- added new Swap() method analogous to std::vector::swap()
2018-08-27 11:02:36 -07:00
barry
a79a12269b
Fixed rare non-manifold topology construction bug in Vtr::Level:
...
- use address arithmetic instead of std::vector[] to determine vector end
2018-08-27 11:00:37 -07:00
barry
a154426d33
Added new flags to Far::PatchTableFactory::Options to:
...
- address indexing inconsistencies with Uniform PatchTables (#737 )
- suppress generation of Varying patches and/or their local point stencils
- added suppression of Varying patches to far/tutorial_6
2018-08-27 10:58:46 -07:00
David G Yu
debc323f06
Merge pull request #984 from barfowl/osd_mesh_bits_linear
...
Added bilinear end-cap option to Osd::MeshBits
2018-08-07 01:15:20 -07:00
barry
0f63aa997d
Added bilinear end-cap option to Osd::MeshBits
2018-08-06 16:29:07 -07:00
David G Yu
9b252d73e0
Merge pull request #983 from barfowl/intro_docs
...
Revisions to the introductory documentation page on "Subdivision Surfaces"
2018-08-06 15:44:09 -07:00
David G Yu
148d3005d3
Merge pull request #982 from barfowl/stencil_table_append
...
fix Far::StencilTable append when base StencilTable empty
2018-08-06 12:10:48 -07:00
David G Yu
6f929b1f01
Merge pull request #981 from barfowl/real_templates_fixes
...
Fix minor oversights in recent changes supporting double precision
2018-08-06 12:09:32 -07:00
barry
af4b1e3fec
Fixed StencilTableFactory::append() when base stencils empty:
...
- duplicate the local point StencilTable when no base stencils
2018-08-05 22:06:56 -07:00
barry
5b9e986d62
Fix a couple oversights in recent changes supporting double precision:
...
- corrected Far::LimitStencilTableFactory wrapper to use StencilTable
- promoted constants in Far::CatmarkPatchBuilder to double precision
2018-08-05 21:31:45 -07:00
barry
809ed21e7b
Major revision to introductory documentation on Subdivision Surfaces:
...
- rewrite of the leading sections of subdivision_surfaces.rst
- new images added in a previous commit
- updated nav_template.rst for the new sections
2018-08-03 18:51:26 -07:00
barry
259f8636a6
Added files to documentation/images needed by upcoming revisions
2018-08-03 18:49:44 -07:00
David G Yu
ed6fcd7245
Merge pull request #980 from barfowl/real_templates_beta
...
Extend the public interface of Far to support double precision
2018-08-02 14:55:28 -07:00
barry
3b484997a1
Modified a couple of examples for testing multi-precision support:
...
- regression/far_perf - can run single/double from command line
- tutorials/far/tutorial_6 - change typedef to run as single/double
2018-07-28 15:06:32 -07:00
barry
647039a8ee
Major public addition of class templates for multiple precision:
...
- converted classes for stencils, tables and factories to templates
- added backward compatible class wrappers around new templates
- extended PatchTable to support variable precision stencil tables
- extended PatchTableBuilder to manage PatchTable's new stencil tables
- templated PatchTableBuilder conversion from SparseMatrix to stencils
- extended public PatchTableFactory interface to specify precision
- converted PrimvarRefiner class to template and added wrapper class
2018-07-28 14:56:43 -07:00
barry
f6172f9608
Minor public extensions to support multi-precision evaluation of patches:
...
- templated PatchParam normalization methods for multiple precision
- instantiated double precision basis evaluation templates
- converted PatchTable::EvaluateBasis...() methods to templates
- added overloaded versions to assist template parameter resolution
- extended PatchMap::FindPatch() to double precision
2018-07-28 14:43:32 -07:00
barfowl
83b90eb00b
Merge pull request #979 from davidgyu/primvar_refiner_fvar_fix
...
Thanks, David
2018-07-28 14:11:21 -07:00
David G Yu
cdcec73088
Fixed Far::PrimvarRefiner::limitFVar prototype
...
Fixed the method signature of the internal limitFVar method to make
the dst argument a reference rather than a pointer to be more consistent
with earlier changes for other primvar classes. This also makes it
easier to use the public template LimitFaceVarying method to operate
on a wider range of primvar container types.
2018-07-28 13:37:03 -07:00
David G Yu
e7b0448220
Merge pull request #978 from barfowl/header_ordering
...
Superficial header reordering in far/catmarkPatchBuilder.cpp
2018-07-28 13:05:45 -07:00
barry
a0fcfb54f9
Reordered #includes in far/catmarkPatchBuilder.cpp to match convention
2018-07-27 12:07:31 -07:00
David G Yu
b3ab407553
Merge pull request #977 from barfowl/real_templates_internal
...
Internal improvements to support double precision
2018-07-24 13:42:05 -07:00
barry
9b2d161c4e
Internal numerical extensions to retain double precision:
...
- retained precision of constants in Sdc Catmark scheme
- improved precision of constants & intermediate values in Sdc Loop scheme
- improved precision of constants & intermediate values CatmarkPatchBuilder
- converted all internal Far patch basis evaluation to templates
2018-07-23 11:10:56 -07:00
barry
f15d4ae02f
Internal refactoring to support multiple precision:
...
- overloaded PatchBuilder to populate SparseMatrix as float or double
- simplified PatchTableBuilder handling of matrices and Varying stencils
2018-07-23 11:00:35 -07:00
David G Yu
aa7eba45bc
Merge pull request #973 from Nazg-Gul/fix_stencil_viewer
...
Fix stencil viewer
2018-07-22 18:26:53 -07:00
barfowl
b1ce41dc26
Merge pull request #974 from Nazg-Gul/fix_obj_buffer_underflow
...
Thanks
2018-07-20 13:36:29 -07:00
barfowl
7a4fe81351
Merge pull request #975 from Nazg-Gul/fix_topology_refiner_stack_memory
...
Thanks again!
2018-07-20 13:35:18 -07:00
David G Yu
3b5c3d99d2
Release 3.3.3
2018-07-17 19:17:49 -07:00
David G Yu
dd9c94e391
Merge pull request #976 from barfowl/varying_patch_fix
...
Fixed regression in PatchTable construction with varying patches
2018-07-17 18:58:07 -07:00
barry
13b36490a7
Fixed PatchTable's ordering of varying patches when multiple arrays present:
...
- added new member to PatchArrayBuilder for varying patch points
- assign varying patch points similar to vertex and fvar patches
2018-07-17 09:29:45 -07:00
Sergey Sharybin
d6f68b17e8
Fix uninitialized stack memory used in topology refiner
...
The issue is that FeatureMask structure has size of an integer, but only
first 11 bytes are initialized, the rest is left non-initialized to a
stack memory of RefineAdaptive(). This will cause issues with IsEmpty()
which check whether any of integer's bits are set, effectively causing
jumps dependent on a non-initialized memory.
2018-07-14 15:57:16 +02:00
Sergey Sharybin
d1396e5581
Fix buffer underflow when reading OBJ data
...
It is possible to have an empty line at the end of data,
that would cause access to line element -1 when stripping
trailing newline,
2018-07-14 15:53:23 +02:00
Sergey Sharybin
ded704f72a
Fix missing break statements in glStencilViewer
...
Changing adaptive subdivision option was affecting on
infinite sharp path option.
2018-07-04 11:46:04 +02:00
David G Yu
74601558e3
Merge pull request #972 from barfowl/fvar_patch_fix
...
Fixed regression in PatchTable construction with face-varying patches
2018-07-03 17:46:41 -07:00
barfowl
1c4a80ac0f
Merge pull request #971 from Nazg-Gul/fix_memset_transposed_args
...
Fix wrong argument order for memset
2018-07-03 15:29:20 -07:00
barry
52fc746bb2
Updated UVs of catmark_torus shape with new topology:
...
- assigned more regular UVs that don't require adaptive refinement
2018-07-03 12:07:24 -07:00
barry
365ba36d6f
Fixed regression in PatchTable construction for face-varying patches:
...
- fixed stencil table size estimate when no adaptive refinement occurs
2018-07-03 12:06:23 -07:00
Sergey Sharybin
80cee207b6
Fix wrong argument order for memset
2018-07-03 14:40:33 +02:00
David G Yu
5b297d8866
Merge branch 'rc/v3_3_2'
2018-06-28 11:46:34 -07:00
David G Yu
70e3c5f300
Release 3.3.2
2018-06-27 14:29:08 -07:00
David G Yu
6f125a266d
Merge pull request #969 from barfowl/sparse_matrix_fix
...
Fixed misuse of vector::capacity() in internal SparseMatrix class
2018-06-27 14:24:48 -07:00
barry
02602e7abf
Fixed misuse of vector::capacity() in Far::SparseMatrix:
...
- replaced use of capacity() with size()
- added missing initializer
2018-06-26 17:42:13 -07:00
David G Yu
87cccde375
Merge pull request #966 from barfowl/patch_refactor
...
Performance improvement and refactoring of Far::PatchTable construction
2018-05-14 17:51:52 -07:00