Commit Graph

137 Commits

Author SHA1 Message Date
manuelk
643b664067 the limitEval example appears to be building properly... adding it to the collection 2013-04-24 10:40:32 -07:00
manuelk
b815aff333 First pass at fixing the installation part of the Cmake build : now CMAKE_INSTALL_PREFIX can
be used as intended to specify an installation directory, which can be located anywhere on the
file system.

Also improved the doxygen target and made the doxy build "quiet".

fixes #154
2013-04-22 19:35:41 -07:00
manuelk
4bf24d9b95 First pass at our "Eval" API : this checkin is a mileston and is still missing
code paths for certain types of feature adaptive patches.

The check-in adds a new "limitEval" code example.

More to come soon...

fixes #45
2013-04-18 19:55:05 -07:00
manuelk
fd0af2dbb6 minor fixes to the GLFW motion callback to fix MSVC++ build errors.
fixes #149
2013-04-18 19:15:30 -07:00
manuelk
57808e4abe fix the function prototype for the motion callbacks in our example viewers
fixes #149
2013-04-08 10:37:36 -07:00
manuelk
e6e7c96a52 We need to leverage our per-patch ptex indexing scheme in the EvalLimit API.
- replace ptex indexing with the FarPtexCoord structure as a way to pass per-patch
  ptex data to the shaders.

  We are replacing a vector<int> arranged as :
  int[0] : ptex face index
  int[1] : (u,v) as 16 bits encoding the log2 coordinate of the top left corner

  Instead we are now using a struct arranged as :
  int[0] : ptex face index
  int[1] : is a bit-field containing u,v, rotation, depth and non-quad

  The u,v coordinates have been reduced to 10 bits instead of 16, which still
  gives us a lot of margin.

- Replace OsdVertexBufferDescriptor with something more adequate for general
  primvar representation (this name will probably eventually change...)

- Improve OsdPatchDescriptor
    - add a "loop" boolean (true if the patch is of loop type)
    - add a GetPatchSize() accessor

- OsdPatchArray :
    - remove some redundant elements (still more to do there)

- Fix all shader / examples / regressions & stuff to make this all work.

fixes #143
2013-03-22 18:20:50 -07:00
David G Yu
036ec2e189 Updated DX11 viewer to use std::string shapes. 2013-03-19 15:38:44 -07:00
Takahito Tejima
d026aca006 use std::string instead of char* for regression shapes definition,
to avoid MSVC's literal length limitation on some big shapes.
2013-03-19 14:43:21 -07:00
David G Yu
7cffcedbc3 Fixed ptexViewer to register for windowClose 2013-03-19 14:31:44 -07:00
manuelk
54856181a9 fix simpleCpu example :
- assign default widht / height to the window
- fix reshape callback
- downgrade GL profile hint to 3.3
2013-03-18 16:55:41 -07:00
manuelk
2ec61446db use sqrtf and expf to prevent auto-casts to double
fixes #139
2013-03-18 16:29:35 -07:00
David G Yu
6f6a6aeab3 Fixed VS2010 compile errors. 2013-03-18 11:57:55 -07:00
David G Yu
f399ff2a10 Fixed VS2010 compile errors.
Also, disabled DEPTH_TEST for framebuffer blits.
2013-03-18 11:56:09 -07:00
Manuel Kraemer
a4c43b0522 fix some GLFW 3.0 issues - since we are still in beta, the API is changing a bit
- the closeWindowFun callback changed prototype (now returns void)
- keyboard functions now require the window handle (and pass it to the callback)
2013-03-16 18:44:53 -07:00
Takahito Tejima
9ec95572bb Add some features into ptexViewer: animation speed, displacement scale, bloom filter, etc 2013-03-15 18:03:22 -07:00
Takahito Tejima
f745aa2807 add paint test example 2013-03-15 12:39:44 -07:00
Takahito Tejima
b3a6d43ee3 fix simpleCpu to be compilable with the latest API 2013-03-08 09:05:07 -08:00
Takahito Tejima
291debd4a9 change access permissions on files 2013-03-08 08:57:42 -08:00
Takahito Tejima
8efecb0fca Batching stuffs: generalized kernel batches, table/dispatcher refactoring, multiMeshFactory, drawContext, etc.
2 client APIs are changed.
- VertexBuffer::UpdateData() takes start vertex offset
- ComputeController::Refine() takes FarKernelBatchVector

Also, ComputeContext no longer holds farmesh.
Client can free farmesh after OsdComputeContext is created.
(but still need FarKernelBatchVector to apply subdivision kernels)
2013-03-07 17:50:15 -08:00
Takahito Tejima
8db3e5ab41 fix updating coarse vertices for cpu/omp kernels.
Closes #133
2013-03-05 09:49:07 -08:00
manuelk
ea1a87441f Add support for hierarchical hole edits.
- add tag parsing for h-hole in shape_utils
- re-create Renderman's test shape from the documentation (catmark_square_hedit.h)
- fix Hbr to correctly pass the hole tag from parent to child face
- fix FarSubdivisionTables to handle disconnected face-vertices without crashing

fixes #75
2013-03-01 18:27:19 -08:00
Andrew Wong
df95968142 hdr_reader: Fix a few compiler warnings 2013-02-25 22:36:28 -05:00
opensubdiv
dfaf8ee76e Fixed merge error. 2013-02-22 16:25:33 -08:00
manuelk
acfd8e366b - similar API changes for Maya 2014 in mayaPtexViewer
- more file permission fixes

fixes #131
2013-02-22 12:58:09 -08:00
manuelk
c3fba1708c - fix function calls incompatible w/ Maya 2014
- change permissions on cudaUtil.cpp, OpenSubdivShader.cpp

fixes #131
2013-02-22 12:31:19 -08:00
manuelk
afc7b9b9a8 - only add detected libs to the maya dependency list
- remove MAYA_tbb_LIBRARY from MayaViewer & MayaPtexViewer examples

fixes #130
2013-02-22 11:38:46 -08:00
manuelk
d21de79ac1 Merge branch 'master' of github.com:PixarAnimationStudios/OpenSubdiv 2013-02-20 14:16:57 -08:00
manuelk
25f79e7ff2 - change adaptive refinement in FarMeshFactory to not refine inside holes,
while retaining a necessary 1-ring on the inside of a hole edge

- add IsInsideHole() function to HbrHalfEdge

- add HasChild() function to HbrVertex and HbrHalfedge

- add a regression shape with adjacent holes and creases (tests dart, crease & boundaries)

Note : this does not address hierarchical edits inside holes or hole tags in hierarchical edits

fixes #78
2013-02-20 14:12:09 -08:00
David G Yu
452b30f72f OsdMesh no longer owns its ComputeController
Now a ComputeController is passed as an
argument to OsdMesh::Create(). This is
a better match to the underlying object
model and can be much more efficient for
compute controllers that have expensive
resources, e.g. compiled shader kernels.

Fixes #103
2013-02-19 17:33:32 -08:00
manuelk
a1040e80d4 - fix glViewer / simpleCPU example code to work w/ GLFW 3.0
- remove testEval from build for now (breaks linux build)

fixes #117
2013-02-19 10:14:56 -08:00
Jeremy Cowles
1befe72c9f glViewer: exit when the window is closed 2013-02-16 13:26:46 -08:00
Jeremy Cowles
3f96f9872a Removed last remnants of glut from simpleCpu comments 2013-02-16 13:15:29 -08:00
jcowles
eb1652bc26 Fixed core profile setup in simpleCpu for linux 2013-02-16 13:10:00 -08:00
Jeremy Cowles
70502cceab Disabled string drawing from simpleCpu 2013-02-16 12:19:04 -08:00
Jeremy Cowles
cd8405a47a Added stdio.h for printf in simpleCpu/main.cpp 2013-02-16 12:05:15 -08:00
Jeremy Cowles
e9b29cda95 Updated simpleCpu to use GLFW for all platforms 2013-02-16 12:03:21 -08:00
Jeremy Cowles
5a7e33a792 Renamed mainGlut.cpp to mainGlfw.cpp in simpleCpu 2013-02-16 11:28:25 -08:00
Dirk Van Gelder
f7181d2f9d Get evalTest and simpleCpu to build again, changing glut references to glfw. 2013-02-15 18:32:10 -08:00
manuelk
a52c70ab8b First pass implementation of holes :
- make sure HBR passes down the hole tag to children when subdividing faces
- minor API modification : allow to unset the hole flag on a face
- modify uniform / adaptive FarMeshFactory to be aware of the flag
- make the FarSubdivisionTableFactory assert when finding unconnected HBR vertices (as it should)

* Uniform subdivision :
    The refinement scheme only creates faces & vertices necessary
    to maintain the one-ring around the edges of a hole, so this solution
    is quite efficient.

* Adaptive subdivision :
    At the moment we are still performing full topological analysis on holes and
    only skipping patches associated to holes. This is sub-optimal in 2 ways :
        1. the topological analysis can potentially be cranking on a lot of unnecessary
           geometry
        2. even though we may not be drawing the patches, the compute stage is still
           applying kernels on all the control vertices of these patches.
    We will have to revisit feature adaptive subdivision & holes, so keep the issue active.

fixes #78
2013-02-13 14:34:33 -08:00
Manuel Kraemer
5ad40fe535 Merge pull request #121 from andrewkww/vs2012_warnings
VS2012 warnings: more conversion warnings and a few others
2013-02-12 17:26:25 -08:00
Philip Rideout
13dfc733f2 typo in the Python readme 2013-02-11 16:24:27 -08:00
Andrew Wong
ccbfea69b1 common/hud: fix a conversion warning
warning C4242: 'argument' : conversion from 'int' to 'char', possible loss of data
2013-02-10 00:04:31 -05:00
manuelk
ef408fc67c - remove the now obsolete glutViewer (replaced by glViewer)
- remove some glut-era callbacks in glViewer / ptexViewer
- fix OSX includes in osd_regression

fixes #117
2013-02-08 14:06:44 -08:00
Philip Rideout
05558699d7 remove unused variable 2013-02-07 17:00:32 -08:00
Philip Rideout
293034d39c move screenshot of demo to doc folder 2013-02-07 16:57:22 -08:00
Manuel Kraemer
ca1e294c70 Merge pull request #116 from prideout/master
Python Bindings for Grandma

This is probably not the final word on python bindings... but it gives us a place to start.

Note : tested only in linux environments so far
2013-02-07 16:40:12 -08:00
Philip Rideout
ad040466a0 fix typos in README 2013-02-07 11:41:48 -08:00
Philip Rideout
604c35ac4f incorp feedback from mkraemer: remove the license file, move the demo to examples/python, change the min Python version to 2.6 2013-02-07 11:37:00 -08:00
Manuel Kraemer
6d4565e6b8 Merge pull request #109 from aras-p/glvbo-fixes
CpuGLVertexBuffer performance fix + glViewer fixes

reviewed, approved & much appreciated : thank you

takahito + manuelk
2013-02-06 18:27:48 -08:00
manuelk
45b38e5c6b fixes a problem on Linux where apparently there is no "primary" monitor returned (NULL)
fixes #113
2013-02-05 18:01:30 -08:00