Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/svm/svm_closure.h
| Show First 20 Lines • Show All 405 Lines • ▼ Show 20 Lines | case CLOSURE_BSDF_HAIR_TRANSMISSION_ID: { | ||||
| sc = svm_node_closure_get_bsdf(sd, mix_weight); | sc = svm_node_closure_get_bsdf(sd, mix_weight); | ||||
| if(sc) { | if(sc) { | ||||
| sc->N = N; | sc->N = N; | ||||
| sc->data0 = param1; | sc->data0 = param1; | ||||
| sc->data1 = param2; | sc->data1 = param2; | ||||
| sc->data2 = -stack_load_float(stack, data_node.z); | sc->data2 = -stack_load_float(stack, data_node.z); | ||||
| if(!(ccl_fetch(sd, type) & PRIMITIVE_ALL_CURVE)) { | if(stack_valid(data_node.y)) { | ||||
| sc->T = normalize(stack_load_float3(stack, data_node.y)); | |||||
| } | |||||
| else if(!(ccl_fetch(sd, type) & PRIMITIVE_ALL_CURVE)) { | |||||
| sc->T = normalize(ccl_fetch(sd, dPdv)); | sc->T = normalize(ccl_fetch(sd, dPdv)); | ||||
| sc->data2 = 0.0f; | sc->data2 = 0.0f; | ||||
| } | } | ||||
| else | else | ||||
| sc->T = normalize(ccl_fetch(sd, dPdu)); | sc->T = normalize(ccl_fetch(sd, dPdu)); | ||||
| if(type == CLOSURE_BSDF_HAIR_REFLECTION_ID) { | if(type == CLOSURE_BSDF_HAIR_REFLECTION_ID) { | ||||
| ccl_fetch(sd, flag) |= bsdf_hair_reflection_setup(sc); | ccl_fetch(sd, flag) |= bsdf_hair_reflection_setup(sc); | ||||
| ▲ Show 20 Lines • Show All 274 Lines • Show Last 20 Lines | |||||