Commit Graph

289 Commits

Author SHA1 Message Date
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
manuelk
7a6fd95f6b Move Hbr behind the OpenSubdiv namespace
Fix all regressions / plugins.

Closes #3.
2012-06-14 18:47:57 -07:00
manuelk
0d2914460d Fix the post-build script that runs after Windows builds to copy
all the requisite DLLs into the build/bin area (there has to be
a better way of linking this...)

Closes #15.
2012-06-14 16:10:38 -07:00
manuelk
3b9e2771a1 Revert "Fixing the post-build script that runs after windows builds that"
This reverts commit 08c519fc46.
2012-06-14 16:10:08 -07:00
manuelk
08c519fc46 Fixing the post-build script that runs after windows builds that
copies DLLs around into the build/bin area (there should be a
better way to do this than copying DLLs around...)
2012-06-14 16:09:06 -07:00
manuelk
320af0e553 Merge branch 'master' of github.com:PixarAnimationStudios/OpenSubdiv 2012-06-14 14:05:13 -07:00
manuelk
6206b2baad - making the FindGlew/Glut modules more Windows friendly (and fix some issues like static linking of GLEW)
- add status messages for missing dependencies and what features are being disabled.
- cleanup osd cmakefile

Closes #13.
2012-06-14 14:03:30 -07:00
Takahito Tejima
dd29d0d345 add vertexBuffer.h
Closes #11
2012-06-14 09:30:28 -07:00
Takahito Tejima
350d32494f Revert "add vertexBuffer.h"
This reverts commit 86d36ace44.
2012-06-14 09:29:31 -07:00
Takahito Tejima
86d36ace44 add vertexBuffer.h 2012-06-14 09:26:29 -07:00
manuelk
34e7586c41 First pass at cleaning up some of the cmake logic
Closes #10.
2012-06-13 19:08:03 -07:00
manuelk
b3b857eec7 re-engineering the find_package strategy :
- use find_package(OpenMP) to test that the compiler supports OMP
  (looks like the "express" versions of MSVC do not)

- if not available, make sure that osd does not register those
  compute kernels (but does register the CPU standalone ones)

- similar refinements on other dependencies (Maya, CUDA) where
  the build "opts in" depending on which libs are found.

some CMakeLists still need more cleanup...

Closes #9
2012-06-13 17:41:18 -07:00
manuelk
f293ac859c fix the friend call to properly address "Match" as a struct and not a class
minor code formatting fixes
2012-06-13 17:14:39 -07:00
manuelk
228ffd4de6 fix some of the cmake conditionals so that windows can find custom
locations for dependencies (using the <lib>_LOCATION variables)

Closes #7
2012-06-13 14:30:28 -07:00
gelder
542cea718a Updated license wording and added link to Microsoft Public License. 2012-06-13 13:15:42 -07:00
Manuel Kraemer
acad7e9c6d Renaming member variables of the stopwatch to make this compile under windows.
Closes #6
2012-06-13 11:09:08 -07:00
Takahito Tejima
ae2e3c18d1 fix scheme display HUD for bilinear subdivision 2012-06-13 09:13:04 -07:00
Takahito Tejima
39a959654f Merge branch 'master' of https://github.com/PixarAnimationStudios/OpenSubdiv 2012-06-13 09:08:10 -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
Takahito Tejima
13e815f600 follow Osd API changes 2012-06-12 16:37:40 -07:00
Takahito Tejima
4eaf554af1 follow Osd API changes 2012-06-12 16:36:53 -07:00
Takahito Tejima
851c00d04c Added OsdVertexBuffer class. OsdMesh no longer has vertex buffer and vertex
specification (how many elements exists in the buffer).
client will create OsdVertexBuffer and provide it as an argument of
OsdMesh::Subdivide() function. It would be more flexible and hopefully matches
various use cases.

Since each dispatcher has to accept arbitrary vertex buffer, introduced a simple
shader registry into glslDispatcher. It will configure shaders for given vertex
elements on demand (for now, just works only for varying buffer).

Fixed cuda kernel's GL resource leakage. Since cuda GL interop seems one-way,
OsdCudaVertexBuffer manages vertex updating instead of just using
OsdGpuVertexBuffer.

Cleaned up some kernel codes and renamed ambiguous names.
2012-06-12 16:28:17 -07:00
Takahito Tejima
29b85a0e8c Merge branch 'master' of https://github.com/PixarAnimationStudios/OpenSubdiv
Conflicts:
	opensubdiv/osd/mesh.h
2012-06-12 16:04:12 -07:00