Commit Graph

175 Commits

Author SHA1 Message Date
U-octave\dyu
3467673a6b Fixed a build issue with Visual Studio 2010 2012-10-09 10:57:47 -07:00
manuelk
5f5207999f Refactoring far (cliff notes):
- All data representation classes are now single-templated for a vertex class 'U'

    - All constructors / instancing code has been moved into "Factory" functions that are dual-templated
      for two vertex classes <class T, class U=T>. This allows hbr specialization with a placeholder
      vertex flass 'T' for faster analysis without paying interpolation costs, while far can still specialize
      a fully implemented vertex class 'U' with full subdivision functionality.

    - Some preliminary clean-up work on FarVertexEditTables with the addition of a FarVertexEdit class
      as a replacement for the former HbrVertedEdit which was introducing back dependencies on hbr. The
      implementation is very lightweight. Some slight renaming / cleanup of the code, with some more to
      be done.

    - there are no more dependencies on hbr (not even #include) from far's data structure !

Notes :
    - the FarDispatcher mechanism has become somewhat awkward and should be re-evaluated when refactoring osd.

    - the "Factory" pattern survives this round of refactoring until we can find something better.

Closes #34
2012-09-17 18:41:48 -07:00
manuelk
2f5a14af87 (not so great) Fix for the hard-wired hbr regression path to work
with Windows.

Closes #58
2012-08-22 16:40:17 -07:00
Manuel Kraemer
832670c9ff Oops - need osd regression to add proper libraries even if we don't really use them yet.
Closes #55
2012-08-21 07:49:50 -07:00
manuelk
2bbf5fb27e First pass at an hbr regression test :
- generate baseline data with the new hbr_baseline tool
- run the a regression of the current hbr code over the baseline data-set with hbr_regression

There is still some cleanup to do to generalize some of the "shape" code as our intermediate
obj-like file format is unfortunately entrenching itself (we should really be using RIB...)

There is also a fair amounto f copy/pasted stuff in the regression code that needs to be refactored

Closes #32
2012-08-17 16:58:01 -07:00
manuelk
783eed920a Remove IlmBase dependencies for now as we are not using any of the features.
Leaving cmake/FindIlmBase.cmake in case we need the API in the future.

Closes #36
2012-08-10 16:40:22 -07:00
manuelk
e2217e182c From now on, hbr assumes that its clients will provide the defition of a
mutex class with Lock / Unlock public functions.

- remove Mutex implementation from Hbr (and revert to original PRman code)
- provide a Mutex class stub in osd
- add some forward declarations in OsdMesh to limit some of the mutex spills
- #include <osd/mutex.h> where needed (little hackish until we can refactor
some of far better)
- remove ILM_BASE from some CMakeLists

Closes #48
2012-08-10 15:14:02 -07:00
manuelk
a1552cfe82 Siggrpah 2012 - rolling over all of prepro work into beta 1.1 2012-08-03 19:51:27 -07:00
manuelk
3920f9c39a Add a SHARED target for OSD and direct dependent example / regression code
to link against that version (except on Windows where we stay on STATIC mode
until all the kinks can be worked out)

Closes #27.
2012-06-20 18:20:41 -07:00
manuelk
b6b2a0aadd Defaulting the regression to kCPU type kernels until an automatic
regression system is implemented.

Closes #26.
2012-06-20 16:18:58 -07:00
manuelk
7dc52d2a64 Actual regression code (currently hard-locked in single CPU mode - need to branch for all kernel types)
Closes #18.
2012-06-19 19:01:01 -07:00
manuelk
eb26c65a88 first pass at an osd regression suite, following similar lines to the far regression.
- modify shape_utils to return a vector of coarse vertices when creating an hbr mesh

- minor cleanup of osd mesh and the addition of a vector parameter in the creator to
  save the remapping between the hbr mesh progenitor and the current serialized osd mesh.

- minor fallout modifications to the glutViewer & far regression code

Notes :

- the dual template of far is causing a lot of complications
  -> suggest finding a way to isolate the T template to the factory code.
  -> far needs a concept of a vector of vertex & varying data (to abstract the vertex buffer
     away from osd)
  -> the dispatched mechanism is awkward and needs refactoring
  -> suggest moving the default CPU kernels away from the subdivision tables
  -> suggest finding a way to completely untemplate the tables (we might need a templated
     factory function though)
  -> osd should be able to call delete on the far mesh to get rid of all the CPU-bound data
     once the GPU data has been laid-out.

Closes #18.
2012-06-19 17:15:07 -07:00
manuelk
2494262b4d tabulation fix 2012-06-18 18:20:34 -07:00
manuelk
f651dea885 * Fixed a while loop that could crash when boundary interpolation
rules are set to "none" (both in Catmark & Loop)

* Amended shape_utils to always set a default boundary interp. rule
  even when no tag was read (ie. don't default to "none")

* Added a regression test for the "dart" shape to test both
  "edge only" and "edge corner" boundary interp. rules.

Closes #2.
2012-06-15 19:13:29 -07:00
manuelk
7a6fd95f6b Move Hbr behind the OpenSubdiv namespace
Fix all regressions / plugins.

Closes #3.
2012-06-14 18:47:57 -07:00
Manuel Kraemer
ac8c01879a Enlarge token buffer from 15 to 50 chars to accommodate the
larger prman tag names.

Closes #5
2012-06-13 08:30:01 -07:00
Manuel Kraemer
4705b6dba1 Revert "Enlarging the token string to be 50 chars instead of 15 to accomodate"
This reverts commit b8cfe4b0bb.
2012-06-13 08:29:07 -07:00
Manuel Kraemer
b8cfe4b0bb Enlarging the token string to be 50 chars instead of 15 to accomodate
the longer prman tag keywords.
2012-06-13 08:18:25 -07:00
Manuel Kraemer
c2f42fa239 fixing error message for IlmBase dependency 2012-06-11 11:20:36 -07:00
Manuel Kraemer
36dc03f3b0 fix memory allocation problem : vertex size is 3 floats... 2012-06-11 07:53:10 -07:00
Manuel Kraemer
284a2884bb checkpoint for the glutViewer in the example code (not functional yet) 2012-06-10 19:59:04 -07:00
Manuel Kraemer
624baf4738 minor cosmetic changes to far regression 2012-06-09 14:23:49 -07:00
Manuel Kraemer
a055967056 first pass at osd module - no GLSL / CUDA / CL kernels yet 2012-06-08 17:06:35 -07:00
Manuel Kraemer
52f2b55423 oops 2012-06-08 14:54:57 -07:00
Manuel Kraemer
dcb6572ae9 Base check-in of Hbr / Far 2012-06-08 11:18:20 -07:00