Commit Graph

113 Commits

Author SHA1 Message Date
Julian Fong
59edf56416 Change container get methods (HbrMesh::GetVertices, etc) to take
output iterators instead of std::vector - eases prman integration
for cases where std::list makes more sense.

Block allocate face children array in common case (<= 4 children).

Other, minor consistency edits.
2012-08-20 13:21:12 -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
Manuel Kraemer
9f6642d2a0 Update README.md 2012-08-15 12:45:10 -07:00
manuelk
26fdbec35c Fix the dependency section of the Readme file.
Closes #49.
2012-08-14 10:46:21 -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
3c16c2c18f Good catch - in practice this should be pretty hard to get into... but
better safe than sorry.

Closes #46
2012-08-10 15:24:04 -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
bc959f6411 renaming verion to BETA_1_1 2012-08-10 12:03:58 -07:00
manuelk
004591ba70 Adding legal header to osd/vertex.h 2012-08-10 12:02:41 -07:00
gelder
9f1e121746 Updating README with Jan Pieper's recommendations, also remove confusing and incorrect mkdir;git init steps 2012-08-09 22:19:53 -07:00
gelder
e298d1706f Small indentation fix in README 2012-08-03 22:06:35 -07:00
gelder
fa2875c31d Removed redundant information on README that is now on the web site 2012-08-03 22:04:32 -07:00
Takahito Tejima
e3d939ee61 fix for win64 build 2012-08-03 20:15:24 -07:00
manuelk
a1552cfe82 Siggrpah 2012 - rolling over all of prepro work into beta 1.1 2012-08-03 19:51:27 -07:00
U-octave\dyu
2ebf29bbad Added minimal support for linking with freeglut instead of glut. 2012-06-26 02:12:30 -07:00
U-octave\dyu
f9a0531e6e Fixed clDispatcher::Map to return void (instead of void *> to avoid errors on VS2010. 2012-06-26 02:04:11 -07:00
U-octave\dyu
d654a587e2 Fixed double-to-float and int-to-float conversions raising warnings in VS2010 2012-06-26 02:01:35 -07:00
U-octave\dyu
7464046595 Added GLEW to the include directories and link libraries for the glutViewer. 2012-06-26 01:57:58 -07:00
manuelk
19de7372b0 Adding a .gitignore rule file
Closes #31
2012-06-22 10:43:15 -07:00
manuelk
d9f46575cd Fix gl / glew includes and fix some related windows build issues
Closes #29.
2012-06-21 12:30:12 -07:00
Takahito Tejima
ec30d8cf03 release vertexbuffer on exit viewer
Closes #28
2012-06-21 10:05:39 -07:00
gelder
fb97e723dd Merge branch 'master' of github.com:PixarAnimationStudios/OpenSubdiv 2012-06-20 18:52:54 -07:00
gelder
2c99708795 Missed in previous checkin. Make sure not to include glew.h in headers
where it can cause havoc downstream, and move vertexBuffers into the cpp
file to avoid gl.h inclusion and to fix dynamic cast issues.  These were
found during Presto integration.
2012-06-20 18:51:16 -07:00
manuelk
5c12beb8b0 Merge branch 'master' of github.com:PixarAnimationStudios/OpenSubdiv 2012-06-20 18:21:52 -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
gelder
0e27dc6c20 Updates for correct complilation with glew found during Presto integration, and
change to vertexBuffer ot avoid dynamic cast issues in Presto.
2012-06-20 17:11:17 -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
6d545f8c46 Adding a drawnormals fucntion that captures the VBO after compute
in order to isnpect the interpolation of vertex data.

Misc code fixes / cleanup

Closes #25.
2012-06-20 16:16:15 -07:00
Takahito Tejima
38ba53404e cutGetMaxGflopsDeviceId seems failing only with 5.0dev driver.
so enabled this function and will work with cuda 4.2 sdk
2012-06-20 09:31:22 -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
54c2345647 Adding GLSL compute kernels for bilinear scheme
Closes #19.
2012-06-19 18:57:43 -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
Manuel Kraemer
9afa90230d Add public & private header files to the source_group statements.
Closes #24
2012-06-19 12:34:26 -07:00
Manuel Kraemer
599e337387 Fix syntax (cast to int)
Closes #23.
2012-06-19 12:30:55 -07:00
Manuel Kraemer
5498afeac9 Remove syntax error
Closes #22.
2012-06-19 12:24:14 -07:00
manuelk
2494262b4d tabulation fix 2012-06-18 18:20:34 -07:00
manuelk
aa56fe341f Adding a virtual function that returns the number of tables needed to represent
a given subdivision scheme.

Closes #4.
2012-06-18 15:31:58 -07:00
manuelk
a2fad75855 Need to ifdef the CUDA registration (we need a better mechanism...)
Closes #21.
2012-06-18 15:25:49 -07:00
manuelk
3ead9514cd Adding CUDA kernels to maya demo viewer
Closes #21.
2012-06-18 15:24:27 -07:00
Manuel Kraemer
c465e3316f Adding support for OpenCL kernels (tested & working on F16 - still needs testing on Win / RH / Apple) 2012-06-16 16:03:52 -07:00
manuelk
d57dbcceb9 Merge branch 'master' of github.com:PixarAnimationStudios/OpenSubdiv 2012-06-15 19:16:57 -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
Takahito Tejima
44fc3a3d9f Merge branch 'master' of https://github.com/PixarAnimationStudios/OpenSubdiv 2012-06-15 17:53:32 -07:00
Takahito Tejima
deea155b06 Add OpenCL kernel and dispatcher. not to be compiled yet. 2012-06-15 17:52:36 -07:00
manuelk
909eb0c8de adding -fPIC to CUDA compiler arguments
Closes #20.
2012-06-15 17:19:13 -07:00
manuelk
27be3cf5ec general code cleanup :
- comments added / modified
- replaced tabs w/ spaces
2012-06-15 14:09:14 -07:00
manuelk
b11148fe63 Merge branch 'master' of github.com:PixarAnimationStudios/OpenSubdiv 2012-06-15 11:42:28 -07:00
manuelk
468b00c5b9 The windows timer used does not have enough resolution - replacing with another high-res API.
Closes #12.
2012-06-15 11:41:16 -07:00
Takahito Tejima
91bb75f0ec Merge branch 'master' of https://github.com/PixarAnimationStudios/OpenSubdiv 2012-06-14 21:25:54 -07:00
Takahito Tejima
1981885f6d Changed to use kernel enum rather than strings. If clients need to add their own
kernel, call OsdKernelDispatcher::Factory::Register() and keep the integer
result value as kernel handle.

Attempted to elimiate registering function from client code, but currently
disabled (in kernelDispatcher.cpp) because of Maya plugin doesn't work with cuda
kernel.

glutViewer creates kernel menu dynamically according to linked kernels.

Fix a bug of maya plugin crashes.

Closes #14
2012-06-14 21:18:00 -07:00