forked from bartvdbraak/blender
Code cleanup / Cycles:
* Rename "curve_kernel_data" to just "curve", to avoid redundant naming.
This commit is contained in:
parent
910d1ff266
commit
48ae40ccdf
@ -215,12 +215,12 @@ __device_inline bool bvh_cardinal_curve_intersect(KernelGlobals *kg, Intersectio
|
||||
float3 P, float3 idir, uint visibility, int object, int curveAddr, int segment, uint *lcg_state, float difl, float extmax)
|
||||
{
|
||||
float epsilon = 0.0f;
|
||||
int depth = kernel_data.curve_kernel_data.subdivisions;
|
||||
int depth = kernel_data.curve.subdivisions;
|
||||
|
||||
/* curve Intersection check */
|
||||
float3 dir = 1.0f/idir;
|
||||
|
||||
int flags = kernel_data.curve_kernel_data.curveflags;
|
||||
int flags = kernel_data.curve.curveflags;
|
||||
|
||||
int prim = kernel_tex_fetch(__prim_index, curveAddr);
|
||||
|
||||
@ -525,7 +525,7 @@ __device_inline bool bvh_curve_intersect(KernelGlobals *kg, Intersection *isect,
|
||||
float3 P, float3 idir, uint visibility, int object, int curveAddr, int segment, uint *lcg_state, float difl, float extmax)
|
||||
{
|
||||
/* curve Intersection check */
|
||||
int flags = kernel_data.curve_kernel_data.curveflags;
|
||||
int flags = kernel_data.curve.curveflags;
|
||||
|
||||
int prim = kernel_tex_fetch(__prim_index, curveAddr);
|
||||
float4 v00 = kernel_tex_fetch(__curves, prim);
|
||||
@ -649,7 +649,7 @@ __device_inline bool bvh_curve_intersect(KernelGlobals *kg, Intersection *isect,
|
||||
|
||||
if (flags & CURVE_KN_ENCLOSEFILTER) {
|
||||
|
||||
float enc_ratio = kernel_data.curve_kernel_data.encasing_ratio;
|
||||
float enc_ratio = kernel_data.curve.encasing_ratio;
|
||||
if((dot(P - p1, tg) > -r1 * enc_ratio) && (dot(P - p2, tg) < r2 * enc_ratio)) {
|
||||
float a2 = 1.0f - (dirz*dirz*(1 + gd*gd*enc_ratio*enc_ratio));
|
||||
float c2 = dot(dif,dif) - difz * difz * (1 + gd*gd*enc_ratio*enc_ratio) - r1*r1*enc_ratio*enc_ratio - 2*r1*difz*gd*enc_ratio;
|
||||
@ -1009,7 +1009,7 @@ __device_inline float3 curvepoint(float t, float3 p0, float3 p1, float3 p2, floa
|
||||
|
||||
__device_inline float3 bvh_curve_refine(KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray, float t)
|
||||
{
|
||||
int flag = kernel_data.curve_kernel_data.curveflags;
|
||||
int flag = kernel_data.curve.curveflags;
|
||||
float3 P = ray->P;
|
||||
float3 D = ray->D;
|
||||
|
||||
@ -1062,7 +1062,7 @@ __device_inline float3 bvh_curve_refine(KernelGlobals *kg, ShaderData *sd, const
|
||||
sd->v = 0.0f;
|
||||
#endif
|
||||
|
||||
if(kernel_data.curve_kernel_data.curveflags & CURVE_KN_RIBBONS)
|
||||
if(kernel_data.curve.curveflags & CURVE_KN_RIBBONS)
|
||||
sd->Ng = normalize(-(D - tg * (dot(tg,D))));
|
||||
else {
|
||||
sd->Ng = normalize(P - p_curr);
|
||||
@ -1080,7 +1080,7 @@ __device_inline float3 bvh_curve_refine(KernelGlobals *kg, ShaderData *sd, const
|
||||
#endif
|
||||
|
||||
if (flag & CURVE_KN_TRUETANGENTGNORMAL) {
|
||||
sd->Ng = -(D - tg * (dot(tg,D) * kernel_data.curve_kernel_data.normalmix));
|
||||
sd->Ng = -(D - tg * (dot(tg,D) * kernel_data.curve.normalmix));
|
||||
sd->Ng = normalize(sd->Ng);
|
||||
if (flag & CURVE_KN_NORMALCORRECTION) {
|
||||
sd->Ng = sd->Ng - gd * tg;
|
||||
@ -1098,7 +1098,7 @@ __device_inline float3 bvh_curve_refine(KernelGlobals *kg, ShaderData *sd, const
|
||||
sd->N = sd->Ng;
|
||||
|
||||
if (flag & CURVE_KN_TANGENTGNORMAL && !(flag & CURVE_KN_TRUETANGENTGNORMAL)) {
|
||||
sd->N = -(D - tg * (dot(tg,D) * kernel_data.curve_kernel_data.normalmix));
|
||||
sd->N = -(D - tg * (dot(tg,D) * kernel_data.curve.normalmix));
|
||||
sd->N = normalize(sd->N);
|
||||
if (flag & CURVE_KN_NORMALCORRECTION) {
|
||||
sd->N = sd->N - gd * tg;
|
||||
|
@ -258,7 +258,7 @@ __device bool BVH_FUNCTION_NAME
|
||||
#if !FEATURE(BVH_SUBSURFACE)
|
||||
if(segment != ~0) {
|
||||
|
||||
if(kernel_data.curve_kernel_data.curveflags & CURVE_KN_INTERPOLATE)
|
||||
if(kernel_data.curve.curveflags & CURVE_KN_INTERPOLATE)
|
||||
#if FEATURE(BVH_HAIR_MINIMUM_WIDTH)
|
||||
hit = bvh_cardinal_curve_intersect(kg, isect, P, idir, visibility, object, primAddr, segment, lcg_state, difl, extmax);
|
||||
else
|
||||
|
@ -120,14 +120,14 @@ __device float3 curve_tangent_normal(KernelGlobals *kg, ShaderData *sd)
|
||||
float3 tgN = make_float3(0.0f,0.0f,0.0f);
|
||||
|
||||
if(sd->segment != ~0) {
|
||||
float normalmix = kernel_data.curve_kernel_data.normalmix;
|
||||
float normalmix = kernel_data.curve.normalmix;
|
||||
|
||||
tgN = -(-sd->I - sd->dPdu * (dot(sd->dPdu,-sd->I) * normalmix / len_squared(sd->dPdu)));
|
||||
tgN = normalize(tgN);
|
||||
|
||||
/* need to find suitable scaled gd for corrected normal */
|
||||
#if 0
|
||||
if (kernel_data.curve_kernel_data.use_tangent_normal_correction)
|
||||
if (kernel_data.curve.use_tangent_normal_correction)
|
||||
tgN = normalize(tgN - gd * sd->dPdu);
|
||||
#endif
|
||||
}
|
||||
|
@ -271,10 +271,10 @@ __device float4 kernel_path_progressive(KernelGlobals *kg, RNG *rng, int sample,
|
||||
if((kernel_data.cam.resolution == 1) && (state.flag & PATH_RAY_CAMERA)) {
|
||||
float3 pixdiff = ray.dD.dx + ray.dD.dy;
|
||||
/*pixdiff = pixdiff - dot(pixdiff, ray.D)*ray.D;*/
|
||||
difl = kernel_data.curve_kernel_data.minimum_width * len(pixdiff) * 0.5f;
|
||||
difl = kernel_data.curve.minimum_width * len(pixdiff) * 0.5f;
|
||||
}
|
||||
|
||||
extmax = kernel_data.curve_kernel_data.maximum_width;
|
||||
extmax = kernel_data.curve.maximum_width;
|
||||
lcg_state = lcg_init(*rng + rng_offset + sample*0x51633e2d);
|
||||
}
|
||||
|
||||
@ -990,10 +990,10 @@ __device float4 kernel_path_non_progressive(KernelGlobals *kg, RNG *rng, int sam
|
||||
if((kernel_data.cam.resolution == 1) && (state.flag & PATH_RAY_CAMERA)) {
|
||||
float3 pixdiff = ray.dD.dx + ray.dD.dy;
|
||||
/*pixdiff = pixdiff - dot(pixdiff, ray.D)*ray.D;*/
|
||||
difl = kernel_data.curve_kernel_data.minimum_width * len(pixdiff) * 0.5f;
|
||||
difl = kernel_data.curve.minimum_width * len(pixdiff) * 0.5f;
|
||||
}
|
||||
|
||||
extmax = kernel_data.curve_kernel_data.maximum_width;
|
||||
extmax = kernel_data.curve.maximum_width;
|
||||
lcg_state = lcg_init(*rng + rng_offset + sample*0x51633e2d);
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,7 @@ void shader_setup_from_ray(KernelGlobals *kg, ShaderData *sd,
|
||||
sd->segment = isect->segment;
|
||||
|
||||
float tcorr = isect->t;
|
||||
if(kernel_data.curve_kernel_data.curveflags & CURVE_KN_POSTINTERSECTCORRECTION) {
|
||||
if(kernel_data.curve.curveflags & CURVE_KN_POSTINTERSECTCORRECTION) {
|
||||
tcorr = (isect->u < 0)? tcorr + sqrtf(isect->v) : tcorr - sqrtf(isect->v);
|
||||
sd->ray_length = tcorr;
|
||||
}
|
||||
@ -193,7 +193,7 @@ __device_inline void shader_setup_from_subsurface(KernelGlobals *kg, ShaderData
|
||||
sd->segment = isect->segment;
|
||||
|
||||
float tcorr = isect->t;
|
||||
if(kernel_data.curve_kernel_data.curveflags & CURVE_KN_POSTINTERSECTCORRECTION)
|
||||
if(kernel_data.curve.curveflags & CURVE_KN_POSTINTERSECTCORRECTION)
|
||||
tcorr = (isect->u < 0)? tcorr + sqrtf(isect->v) : tcorr - sqrtf(isect->v);
|
||||
|
||||
sd->P = bvh_curve_refine(kg, sd, isect, ray, tcorr);
|
||||
|
@ -843,7 +843,7 @@ typedef struct KernelData {
|
||||
KernelSunSky sunsky;
|
||||
KernelIntegrator integrator;
|
||||
KernelBVH bvh;
|
||||
KernelCurves curve_kernel_data;
|
||||
KernelCurves curve;
|
||||
KernelBSSRDF bssrdf;
|
||||
KernelBlackbody blackbody;
|
||||
} KernelData;
|
||||
|
@ -119,7 +119,7 @@ void CurveSystemManager::device_update(Device *device, DeviceScene *dscene, Scen
|
||||
|
||||
progress.set_status("Updating Hair settings", "Copying Hair settings to device");
|
||||
|
||||
KernelCurves *kcurve= &dscene->data.curve_kernel_data;
|
||||
KernelCurves *kcurve= &dscene->data.curve;
|
||||
|
||||
kcurve->curveflags = 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user