Blender V5.0
stdcycles.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2009-2010 Sony Pictures Imageworks Inc., et al. All Rights Reserved.
2 * SPDX-FileCopyrightText: 2011-2022 Blender Foundation
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 * Adapted code from Open Shading Language. */
7
8#ifndef CCL_STDCYCLESOSL_H
9#define CCL_STDCYCLESOSL_H
10
11#include "stdosl.h"
12
13// Constants
14#define FLT_MAX 3.402823466e+38 // max value
15
16/* Default offset of coordinates for evaluating bump node. Unit in pixel. */
17#define BUMP_FILTER_WIDTH 0.1
18
19// Declaration of built-in functions and closures, stdosl.h does not make
20// these available so we have to redefine them.
21#define BUILTIN [[int builtin = 1]]
22#define BUILTIN_DERIV [[ int builtin = 1, int deriv = 1 ]]
23
24closure color diffuse_ramp(normal N, color colors[8]) BUILTIN;
25closure color phong_ramp(normal N, float exponent, color colors[8]) BUILTIN;
26closure color diffuse_toon(normal N, float size, float smooth) BUILTIN;
27closure color glossy_toon(normal N, float size, float smooth) BUILTIN;
28closure color ashikhmin_velvet(normal N, float sigma) BUILTIN;
29closure color sheen(normal N, float roughness) BUILTIN;
30closure color ambient_occlusion() BUILTIN;
31
32closure color microfacet_f82_tint(
33 string distribution, vector N, vector T, float ax, float ay, color f0, color f82) BUILTIN;
34
35/* Needed to pass along the color for multi-scattering saturation adjustment,
36 * otherwise could be replaced by microfacet() */
37closure color microfacet_multi_ggx_glass(normal N, float ag, float eta, color C) BUILTIN;
38closure color microfacet_multi_ggx_aniso(normal N, vector T, float ax, float ay, color C) BUILTIN;
39
40// BSSRDF
41closure color bssrdf(string method, normal N, vector radius, color albedo) BUILTIN;
42
43// Hair
44closure color
45hair_reflection(normal N, float roughnessu, float roughnessv, vector T, float offset) BUILTIN;
46closure color
47hair_transmission(normal N, float roughnessu, float roughnessv, vector T, float offset) BUILTIN;
48closure color hair_chiang(normal N,
49 color sigma,
50 float roughnessu,
51 float roughnessv,
52 float coat,
53 float alpha,
54 float eta) BUILTIN;
55closure color hair_huang(normal N,
56 color sigma,
57 float roughness,
58 float tilt,
59 float eta,
60 float aspect_ratio,
61 float r_lobe,
62 float tt_lobe,
63 float trt_lobe) BUILTIN;
64
65// Volume
66closure color henyey_greenstein(float g) BUILTIN;
67closure color fournier_forand(float B, float IOR) BUILTIN;
68closure color draine(float g, float alpha) BUILTIN;
69closure color rayleigh() BUILTIN;
70closure color absorption() BUILTIN;
71
72// Ray Portal
73closure color ray_portal_bsdf(vector position, vector direction) BUILTIN;
74
76{
77 return P;
78}
79
84
85#endif /* CCL_STDOSL_H */
#define C
Definition RandGen.cpp:29
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
#define N
#define T
#define B
closure color absorption() BUILTIN
closure color fournier_forand(float B, float IOR) BUILTIN
closure color phong_ramp(normal N, float exponent, color colors[8]) BUILTIN
closure color microfacet_multi_ggx_glass(normal N, float ag, float eta, color C) BUILTIN
closure color ray_portal_bsdf(vector position, vector direction) BUILTIN
closure color hair_chiang(normal N, color sigma, float roughnessu, float roughnessv, float coat, float alpha, float eta) BUILTIN
vector camera_shader_random_sample()
Definition stdcycles.h:80
closure color diffuse_toon(normal N, float size, float smooth) BUILTIN
closure color henyey_greenstein(float g) BUILTIN
#define BUILTIN
Definition stdcycles.h:21
closure color ambient_occlusion() BUILTIN
closure color microfacet_multi_ggx_aniso(normal N, vector T, float ax, float ay, color C) BUILTIN
closure color hair_transmission(normal N, float roughnessu, float roughnessv, vector T, float offset) BUILTIN
closure color ashikhmin_velvet(normal N, float sigma) BUILTIN
closure color diffuse_ramp(normal N, color colors[8]) BUILTIN
closure color bssrdf(string method, normal N, vector radius, color albedo) BUILTIN
closure color hair_huang(normal N, color sigma, float roughness, float tilt, float eta, float aspect_ratio, float r_lobe, float tt_lobe, float trt_lobe) BUILTIN
closure color sheen(normal N, float roughness) BUILTIN
point camera_shader_raster_position()
Definition stdcycles.h:75
closure color hair_reflection(normal N, float roughnessu, float roughnessv, vector T, float offset) BUILTIN
closure color microfacet_f82_tint(string distribution, vector N, vector T, float ax, float ay, color f0, color f82) BUILTIN
closure color rayleigh() BUILTIN
closure color draine(float g, float alpha) BUILTIN
closure color glossy_toon(normal N, float size, float smooth) BUILTIN