rtcSetGeometryDisplacementFunction - Online Linux Manual PageSection : 3
Updated :
Source :
Note : Embree Ray Tracing Kernels 3
NAME
rtcSetGeometryDisplacementFunction − sets the displacement function
for a subdivision geometry
SYNOPSIS
#include <embree3/rtcore.h>
struct RTCDisplacementFunctionNArguments
{
void* geometryUserPtr;
RTCGeometry geometry;
unsigned int primID;
unsigned int timeStep;
const float* u;
const float* v;
const float* Ng_x;
const float* Ng_y;
const float* Ng_z;
float* P_x;
float* P_y;
float* P_z;
unsigned int N;
};
typedef void (*RTCDisplacementFunctionN)(
const struct RTCDisplacementFunctionNArguments* args
);
void rtcSetGeometryDisplacementFunction(
RTCGeometry geometry,
RTCDisplacementFunctionN displacement
);
DESCRIPTIONThe rtcSetGeometryDisplacementFunction function registers a displacement callback function (displacement argument) for the specified subdivision geometry (geometry argument). Only a single callback function can be registered per geometry, and further invocations overwrite the previously set callback function. Passing NULL as function pointer disables the registered callback function. The registered displacement callback function is invoked to displace points on the subdivision geometry during spatial acceleration structure construction, during the rtcCommitScene call. The callback function of type RTCDisplacementFunctionN is invoked with a number of arguments stored inside the RTCDisplacementFunctionNArguments structure. The provided user data pointer of the geometry (geometryUserPtr member) can be used to point to the application's representation of the subdivision mesh. A number N of points to displace are specified in a structure of array layout. For each point to displace, the local patch UV coordinates (u and v arrays), the normalized geometry normal (Ng_x, Ng_y, and Ng_z arrays), and the position (P_x, P_y, and P_z arrays) are provided. The task of the displacement function is to use this information and change the position data. The geometry handle (geometry member) and primitive ID (primID member) of the patch to displace are additionally provided as well as the time step timeStep, which can be important if the displacement is time−dependent and motion blur is used. All passed arrays must be aligned to 64 bytes and properly padded to make wide vector processing inside the displacement function easily possible. Also see tutorial [Displacement Geometry] for an example of how to use the displacement mapping functions.
EXIT STATUSOn failure an error code is set that can be queried using rtcGetDeviceError.
SEE ALSO[RTC_GEOMETRY_TYPE_SUBDIVISION] 0
Johanes Gumabo
Data Size : 8,888 byte
man-rtcSetGeometryDisplacementFunction.3embree3Build : 2024-12-05, 20:55 :
Visitor Screen : x
Visitor Counter ( page / site ) : 2 / 203,272
Visitor ID : :
Visitor IP : 18.188.69.167 :
Visitor Provider : AMAZON-02 :
Provider Position ( lat x lon ) : 39.962500 x -83.006100 : x
Provider Accuracy Radius ( km ) : 1000 :
Provider City : Columbus :
Provider Province : Ohio , : ,
Provider Country : United States :
Provider Continent : North America :
Visitor Recorder : Version :
Visitor Recorder : Library :
Online Linux Manual Page : Version : Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page : Library : lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page : Library : lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base : Version : Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base : Library : lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36
Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.