lygia
/sdf
/planeSDF
)generate the SDF of a plane
Use:
<float> planeSDF( in <vec3> pos, in <vec2> h )
#ifndef FNC_PLANESDF
#define FNC_PLANESDF
float planeSDF( vec3 p ) {
return p.y;
}
float planeSDF(vec3 p, vec3 planePoint, vec3 planeNormal) {
return (dot(planeNormal, p) + dot(planeNormal, planePoint)) / length(planeNormal);
}
#endif
Use:
<float> planeSDF( in <float3> pos, in <float2> h )
#ifndef FNC_PLANESDF
#define FNC_PLANESDF
float planeSDF( float3 p ) {
return p.y;
}
float planeSDF(float3 p, float3 planePoint, float3 planeNormal) {
return (dot(planeNormal, p) + dot(planeNormal, planePoint)) / length(planeNormal);
}
#endif
Use:
<float> planeSDF( <float3> pos, <float2> h )
#ifndef FNC_PLANESDF
#define FNC_PLANESDF
float planeSDF( float3 p ) {
return p.y;
}
float planeSDF(float3 p, float3 planePoint, float3 planeNormal) {
return (dot(planeNormal, p) + dot(planeNormal, planePoint)) / length(planeNormal);
}
#endif
Dependencies:
Use:
<float> planeSDF( in <float3> pos, in <vec2> h )
#ifndef FNC_PLANESDF
#define FNC_PLANESDF
inline __host__ __device__ float planeSDF(float3 p) { return p.y; }
inline __host__ __device__ float planeSDF(float3 p, float3 planePoint, float3 planeNormal) { return (dot(planeNormal, p) + dot(planeNormal, planePoint)) / length(planeNormal); }
#endif
LYGIA is dual-licensed under the Prosperity License and the Patron License for sponsors and contributors.
Sponsors and contributors are automatically added to the Patron License and they can ignore the any non-commercial rule of the Prosperity Licensed software (please take a look to the exception).
It's also possible to get a permanent comercial license hook to a single and specific version of LYGIA.
Sign up for the news letter bellow, joing the LYGIA's channel on Discord or follow the Github repository