HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
rtcore_buffer.h
Go to the documentation of this file.
1
// Copyright 2009-2021 Intel Corporation
2
// SPDX-License-Identifier: Apache-2.0
3
4
#pragma once
5
6
#include "
rtcore_device.h
"
7
8
RTC_NAMESPACE_BEGIN
9
10
/* Types of buffers */
11
enum
RTCBufferType
12
{
13
RTC_BUFFER_TYPE_INDEX
= 0,
14
RTC_BUFFER_TYPE_VERTEX
= 1,
15
RTC_BUFFER_TYPE_VERTEX_ATTRIBUTE
= 2,
16
RTC_BUFFER_TYPE_NORMAL
= 3,
17
RTC_BUFFER_TYPE_TANGENT
= 4,
18
RTC_BUFFER_TYPE_NORMAL_DERIVATIVE
= 5,
19
20
RTC_BUFFER_TYPE_GRID
= 8,
21
22
RTC_BUFFER_TYPE_FACE
= 16,
23
RTC_BUFFER_TYPE_LEVEL
= 17,
24
RTC_BUFFER_TYPE_EDGE_CREASE_INDEX
= 18,
25
RTC_BUFFER_TYPE_EDGE_CREASE_WEIGHT
= 19,
26
RTC_BUFFER_TYPE_VERTEX_CREASE_INDEX
= 20,
27
RTC_BUFFER_TYPE_VERTEX_CREASE_WEIGHT
= 21,
28
RTC_BUFFER_TYPE_HOLE
= 22,
29
30
RTC_BUFFER_TYPE_FLAGS
= 32
31
};
32
33
/* Opaque buffer type */
34
typedef
struct
RTCBufferTy*
RTCBuffer
;
35
36
/* Creates a new buffer. */
37
RTC_API
RTCBuffer
rtcNewBuffer
(
RTCDevice
device,
size_t
byteSize);
38
39
/* Creates a new shared buffer. */
40
RTC_API
RTCBuffer
rtcNewSharedBuffer
(
RTCDevice
device,
void
*
ptr
,
size_t
byteSize);
41
42
/* Returns a pointer to the buffer data. */
43
RTC_API
void
*
rtcGetBufferData
(
RTCBuffer
buffer
);
44
45
/* Retains the buffer (increments the reference count). */
46
RTC_API
void
rtcRetainBuffer
(
RTCBuffer
buffer
);
47
48
/* Releases the buffer (decrements the reference count). */
49
RTC_API
void
rtcReleaseBuffer
(
RTCBuffer
buffer
);
50
51
RTC_NAMESPACE_END
RTC_BUFFER_TYPE_VERTEX
Definition:
rtcore_buffer.h:14
RTC_BUFFER_TYPE_FACE
Definition:
rtcore_buffer.h:22
rtcRetainBuffer
RTC_API void rtcRetainBuffer(RTCBuffer buffer)
RTC_API
#define RTC_API
Definition:
rtcore_config.h:55
RTC_BUFFER_TYPE_HOLE
Definition:
rtcore_buffer.h:28
RTCDevice
typedefRTC_NAMESPACE_BEGIN struct RTCDeviceTy * RTCDevice
Definition:
rtcore_device.h:11
RTC_BUFFER_TYPE_NORMAL_DERIVATIVE
Definition:
rtcore_buffer.h:18
rtcReleaseBuffer
RTC_API void rtcReleaseBuffer(RTCBuffer buffer)
RTC_BUFFER_TYPE_INDEX
Definition:
rtcore_buffer.h:13
rtcNewBuffer
RTC_API RTCBuffer rtcNewBuffer(RTCDevice device, size_t byteSize)
buffer
Definition:
core.h:760
RTC_BUFFER_TYPE_TANGENT
Definition:
rtcore_buffer.h:17
RTC_BUFFER_TYPE_NORMAL
Definition:
rtcore_buffer.h:16
RTC_BUFFER_TYPE_VERTEX_CREASE_INDEX
Definition:
rtcore_buffer.h:26
rtcGetBufferData
RTC_API void * rtcGetBufferData(RTCBuffer buffer)
RTC_BUFFER_TYPE_VERTEX_ATTRIBUTE
Definition:
rtcore_buffer.h:15
RTC_NAMESPACE_END
#define RTC_NAMESPACE_END
Definition:
rtcore_config.h:23
RTC_BUFFER_TYPE_EDGE_CREASE_INDEX
Definition:
rtcore_buffer.h:24
RTC_BUFFER_TYPE_EDGE_CREASE_WEIGHT
Definition:
rtcore_buffer.h:25
ptr
auto ptr(T p) -> const void *
Definition:
format.h:2448
RTC_BUFFER_TYPE_LEVEL
Definition:
rtcore_buffer.h:23
RTC_BUFFER_TYPE_FLAGS
Definition:
rtcore_buffer.h:30
rtcore_device.h
rtcNewSharedBuffer
RTC_API RTCBuffer rtcNewSharedBuffer(RTCDevice device, void *ptr, size_t byteSize)
RTCBuffer
struct RTCBufferTy * RTCBuffer
Definition:
rtcore_buffer.h:34
RTC_BUFFER_TYPE_VERTEX_CREASE_WEIGHT
Definition:
rtcore_buffer.h:27
RTC_NAMESPACE_BEGIN
#define RTC_NAMESPACE_BEGIN
Definition:
rtcore_config.h:22
RTCBufferType
RTCBufferType
Definition:
rtcore_buffer.h:11
RTC_BUFFER_TYPE_GRID
Definition:
rtcore_buffer.h:20
embree3
rtcore_buffer.h
Generated on Tue Dec 17 2024 03:39:38 for HDK by
1.8.6