forked from bartvdbraak/blender
c96ae81160
This adds support for ngons and attributes on subdivision meshes. Ngons are needed for proper attribute interpolation as well as correct Catmull-Clark subdivision. Several changes are made to achieve this: - new primitive `SubdFace` added to `Mesh` - 3 more textures are used to store info on patches from subd meshes - Blender export uses loop interface instead of tessface for subd meshes - `Attribute` class is updated with a simplified way to pass primitive counts around and to support ngons. - extra points for ngons are generated for O(1) attribute interpolation - curves are temporally disabled on subd meshes to avoid various bugs with implementation - old unneeded code is removed from `subd/` - various fixes and improvements Reviewed By: brecht Differential Revision: https://developer.blender.org/D2108
83 lines
977 B
CMake
83 lines
977 B
CMake
|
|
set(INC
|
|
.
|
|
../device
|
|
../graph
|
|
../kernel
|
|
../kernel/svm
|
|
../kernel/osl
|
|
../bvh
|
|
../subd
|
|
../util
|
|
../../glew-mx
|
|
)
|
|
|
|
set(INC_SYS
|
|
${GLEW_INCLUDE_DIR}
|
|
)
|
|
|
|
set(SRC
|
|
attribute.cpp
|
|
background.cpp
|
|
bake.cpp
|
|
buffers.cpp
|
|
camera.cpp
|
|
constant_fold.cpp
|
|
film.cpp
|
|
graph.cpp
|
|
image.cpp
|
|
integrator.cpp
|
|
light.cpp
|
|
mesh.cpp
|
|
mesh_displace.cpp
|
|
mesh_subdivision.cpp
|
|
nodes.cpp
|
|
object.cpp
|
|
osl.cpp
|
|
particles.cpp
|
|
curves.cpp
|
|
scene.cpp
|
|
session.cpp
|
|
shader.cpp
|
|
sobol.cpp
|
|
svm.cpp
|
|
tables.cpp
|
|
tile.cpp
|
|
)
|
|
|
|
set(SRC_HEADERS
|
|
attribute.h
|
|
bake.h
|
|
background.h
|
|
buffers.h
|
|
camera.h
|
|
constant_fold.h
|
|
film.h
|
|
graph.h
|
|
image.h
|
|
integrator.h
|
|
light.h
|
|
mesh.h
|
|
nodes.h
|
|
object.h
|
|
osl.h
|
|
particles.h
|
|
curves.h
|
|
scene.h
|
|
session.h
|
|
shader.h
|
|
sobol.h
|
|
svm.h
|
|
tables.h
|
|
tile.h
|
|
)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RTTI_DISABLE_FLAGS}")
|
|
|
|
include_directories(${INC})
|
|
include_directories(SYSTEM ${INC_SYS})
|
|
|
|
add_definitions(${GL_DEFINITIONS})
|
|
|
|
add_library(cycles_render ${SRC} ${SRC_HEADERS})
|