Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Broadfoot <gbroadfoot@hotmail.com>2013-08-18 17:41:53 +0400
committerStuart Broadfoot <gbroadfoot@hotmail.com>2013-08-18 17:41:53 +0400
commit2fd11a6617b84dbe5cae1a2c3f9145830b2bbfd4 (patch)
tree3446f01329b3a009d9cbd2e25ae7d171e6aa5e84 /intern/cycles/render
parent19d3e230e6d0cc52ebd82a8b5d0efbbeb396a9cf (diff)
Updates for the Cycle Hair UI. With the following changes
- Removed the cycles subdivision and interpolation of hairkeys. - Removed the parent settings. - Removed all of the advanced settings and presets. - This simplifies the UI to a few settings for the primitive type and a shape mode.
Diffstat (limited to 'intern/cycles/render')
-rw-r--r--intern/cycles/render/attribute.cpp5
-rw-r--r--intern/cycles/render/curves.cpp31
-rw-r--r--intern/cycles/render/curves.h14
3 files changed, 11 insertions, 39 deletions
diff --git a/intern/cycles/render/attribute.cpp b/intern/cycles/render/attribute.cpp
index 3137ea5327b..57e76a6a8f9 100644
--- a/intern/cycles/render/attribute.cpp
+++ b/intern/cycles/render/attribute.cpp
@@ -147,8 +147,6 @@ const char *Attribute::standard_name(AttributeStandard std)
return "motion_post";
else if(std == ATTR_STD_PARTICLE)
return "particle";
- else if(std == ATTR_STD_CURVE_TANGENT)
- return "curve_tangent";
else if(std == ATTR_STD_CURVE_INTERCEPT)
return "curve_intercept";
@@ -277,9 +275,6 @@ Attribute *AttributeSet::add(AttributeStandard std, ustring name)
case ATTR_STD_MOTION_POST:
attr = add(name, TypeDesc::TypePoint, ATTR_ELEMENT_CURVE_KEY);
break;
- case ATTR_STD_CURVE_TANGENT:
- attr = add(name, TypeDesc::TypeVector, ATTR_ELEMENT_CURVE_KEY);
- break;
case ATTR_STD_CURVE_INTERCEPT:
attr = add(name, TypeDesc::TypeFloat, ATTR_ELEMENT_CURVE_KEY);
break;
diff --git a/intern/cycles/render/curves.cpp b/intern/cycles/render/curves.cpp
index 502bed06930..8f9a232f672 100644
--- a/intern/cycles/render/curves.cpp
+++ b/intern/cycles/render/curves.cpp
@@ -80,27 +80,21 @@ void curvebounds(float *lower, float *upper, float3 *p, int dim)
CurveSystemManager::CurveSystemManager()
{
primitive = CURVE_LINE_SEGMENTS;
+ curve_shape = CURVE_THICK;
line_method = CURVE_CORRECTED;
- interpolation = CURVE_CARDINAL;
triangle_method = CURVE_CAMERA_TRIANGLES;
resolution = 3;
- segments = 1;
subdivisions = 3;
- normalmix = 1.0f;
encasing_ratio = 1.01f;
minimum_width = 0.0f;
maximum_width = 0.0f;
use_curves = true;
- use_smooth = true;
- use_parents = false;
use_encasing = true;
use_backfacing = false;
- use_joined = false;
use_tangent_normal = false;
use_tangent_normal_geometry = false;
- use_tangent_normal_correction = false;
need_update = true;
need_mesh_update = false;
@@ -138,18 +132,13 @@ void CurveSystemManager::device_update(Device *device, DeviceScene *dscene, Scen
if(use_tangent_normal)
kcurve->curveflags |= CURVE_KN_TANGENTGNORMAL;
- if(use_tangent_normal_correction)
- kcurve->curveflags |= CURVE_KN_NORMALCORRECTION;
if(use_tangent_normal_geometry)
kcurve->curveflags |= CURVE_KN_TRUETANGENTGNORMAL;
- if(use_joined)
- kcurve->curveflags |= CURVE_KN_CURVEDATA;
if(use_backfacing)
kcurve->curveflags |= CURVE_KN_BACKFACING;
if(use_encasing)
kcurve->curveflags |= CURVE_KN_ENCLOSEFILTER;
- kcurve->normalmix = normalmix;
kcurve->encasing_ratio = encasing_ratio;
kcurve->minimum_width = minimum_width;
kcurve->maximum_width = maximum_width;
@@ -168,39 +157,29 @@ void CurveSystemManager::device_free(Device *device, DeviceScene *dscene)
bool CurveSystemManager::modified(const CurveSystemManager& CurveSystemManager)
{
- return !(line_method == CurveSystemManager.line_method &&
- interpolation == CurveSystemManager.interpolation &&
+ return !(curve_shape == CurveSystemManager.curve_shape &&
+ line_method == CurveSystemManager.line_method &&
primitive == CurveSystemManager.primitive &&
use_encasing == CurveSystemManager.use_encasing &&
use_tangent_normal == CurveSystemManager.use_tangent_normal &&
- use_tangent_normal_correction == CurveSystemManager.use_tangent_normal_correction &&
use_tangent_normal_geometry == CurveSystemManager.use_tangent_normal_geometry &&
encasing_ratio == CurveSystemManager.encasing_ratio &&
minimum_width == CurveSystemManager.minimum_width &&
maximum_width == CurveSystemManager.maximum_width &&
use_backfacing == CurveSystemManager.use_backfacing &&
- normalmix == CurveSystemManager.normalmix &&
- use_smooth == CurveSystemManager.use_smooth &&
triangle_method == CurveSystemManager.triangle_method &&
resolution == CurveSystemManager.resolution &&
use_curves == CurveSystemManager.use_curves &&
- use_joined == CurveSystemManager.use_joined &&
- segments == CurveSystemManager.segments &&
- use_parents == CurveSystemManager.use_parents &&
subdivisions == CurveSystemManager.subdivisions);
}
bool CurveSystemManager::modified_mesh(const CurveSystemManager& CurveSystemManager)
{
return !(primitive == CurveSystemManager.primitive &&
- interpolation == CurveSystemManager.interpolation &&
- use_parents == CurveSystemManager.use_parents &&
- use_smooth == CurveSystemManager.use_smooth &&
+ curve_shape == CurveSystemManager.curve_shape &&
triangle_method == CurveSystemManager.triangle_method &&
resolution == CurveSystemManager.resolution &&
- use_curves == CurveSystemManager.use_curves &&
- use_joined == CurveSystemManager.use_joined &&
- segments == CurveSystemManager.segments);
+ use_curves == CurveSystemManager.use_curves);
}
void CurveSystemManager::tag_update(Scene *scene)
diff --git a/intern/cycles/render/curves.h b/intern/cycles/render/curves.h
index 42f0498617e..088702d39ed 100644
--- a/intern/cycles/render/curves.h
+++ b/intern/cycles/render/curves.h
@@ -48,9 +48,13 @@ typedef enum curve_primitives {
CURVE_RIBBONS
} curve_primitives;
+typedef enum curve_shape {
+ CURVE_RIBBON,
+ CURVE_THICK
+} curve_shape;
+
typedef enum curve_triangles {
CURVE_CAMERA_TRIANGLES,
- CURVE_RIBBON_TRIANGLES,
CURVE_TESSELATED_TRIANGLES
} curve_triangles;
@@ -99,27 +103,21 @@ class CurveSystemManager {
public:
int primitive;
+ int curve_shape;
int line_method;
- int interpolation;
int triangle_method;
int resolution;
- int segments;
int subdivisions;
- float normalmix;
float encasing_ratio;
float minimum_width;
float maximum_width;
bool use_curves;
- bool use_smooth;
- bool use_parents;
bool use_encasing;
bool use_backfacing;
bool use_tangent_normal;
- bool use_tangent_normal_correction;
bool use_tangent_normal_geometry;
- bool use_joined;
bool need_update;
bool need_mesh_update;