Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/svm/svm_sepcomb_hsv.h
| Show All 10 Lines | |||||
| * distributed under the License is distributed on an "AS IS" BASIS, | * distributed under the License is distributed on an "AS IS" BASIS, | ||||
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
| ccl_device_noinline int svm_node_combine_hsv(ccl_global const KernelGlobals *kg, | ccl_device_noinline int svm_node_combine_hsv(KernelGlobals kg, | ||||
| ccl_private ShaderData *sd, | ccl_private ShaderData *sd, | ||||
| ccl_private float *stack, | ccl_private float *stack, | ||||
| uint hue_in, | uint hue_in, | ||||
| uint saturation_in, | uint saturation_in, | ||||
| uint value_in, | uint value_in, | ||||
| int offset) | int offset) | ||||
| { | { | ||||
| uint4 node1 = read_node(kg, &offset); | uint4 node1 = read_node(kg, &offset); | ||||
| uint color_out = node1.y; | uint color_out = node1.y; | ||||
| float hue = stack_load_float(stack, hue_in); | float hue = stack_load_float(stack, hue_in); | ||||
| float saturation = stack_load_float(stack, saturation_in); | float saturation = stack_load_float(stack, saturation_in); | ||||
| float value = stack_load_float(stack, value_in); | float value = stack_load_float(stack, value_in); | ||||
| /* Combine, and convert back to RGB */ | /* Combine, and convert back to RGB */ | ||||
| float3 color = hsv_to_rgb(make_float3(hue, saturation, value)); | float3 color = hsv_to_rgb(make_float3(hue, saturation, value)); | ||||
| if (stack_valid(color_out)) | if (stack_valid(color_out)) | ||||
| stack_store_float3(stack, color_out, color); | stack_store_float3(stack, color_out, color); | ||||
| return offset; | return offset; | ||||
| } | } | ||||
| ccl_device_noinline int svm_node_separate_hsv(ccl_global const KernelGlobals *kg, | ccl_device_noinline int svm_node_separate_hsv(KernelGlobals kg, | ||||
| ccl_private ShaderData *sd, | ccl_private ShaderData *sd, | ||||
| ccl_private float *stack, | ccl_private float *stack, | ||||
| uint color_in, | uint color_in, | ||||
| uint hue_out, | uint hue_out, | ||||
| uint saturation_out, | uint saturation_out, | ||||
| int offset) | int offset) | ||||
| { | { | ||||
| uint4 node1 = read_node(kg, &offset); | uint4 node1 = read_node(kg, &offset); | ||||
| Show All 17 Lines | |||||