39 float line_width_range_[2];
49 GLuint targets_[64] = {GL_TEXTURE_2D};
50 GLuint textures_[64] = {0};
51 GLuint samplers_[64] = {0};
54 GLuint images_[8] = {0};
55 GLenum formats_[8] = {0};
91 static void set_clip_distances(
int new_dist_len,
int old_dist_len);
92 static void set_logic_op(
bool enable);
93 static void set_facing(
bool invert);
96 static void set_shadow_bias(
bool enable);
99 void set_state(
const GPUState &
state);
100 void set_mutable_state(
const GPUStateMutable &
state);
102 void texture_bind_apply();
103 void image_bind_apply();
105 MEM_CXX_CLASS_ALLOC_FUNCS(
"GLStateManager")
118 void wait()
override;
120 MEM_CXX_CLASS_ALLOC_FUNCS(
"GLFence")
125 GLbitfield barrier = 0;
127 barrier |= GL_SHADER_IMAGE_ACCESS_BARRIER_BIT;
130 barrier |= GL_SHADER_STORAGE_BARRIER_BIT;
133 barrier |= GL_TEXTURE_FETCH_BARRIER_BIT;
136 barrier |= GL_TEXTURE_UPDATE_BARRIER_BIT;
139 barrier |= GL_COMMAND_BARRIER_BIT;
142 barrier |= GL_FRAMEBUFFER_BARRIER_BIT;
145 barrier |= GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT;
148 barrier |= GL_ELEMENT_ARRAY_BARRIER_BIT;
151 barrier |= GL_UNIFORM_BARRIER_BIT;
154 barrier |= GL_BUFFER_UPDATE_BARRIER_BIT;
@ GPU_BARRIER_SHADER_STORAGE
@ GPU_BARRIER_TEXTURE_FETCH
@ GPU_BARRIER_BUFFER_UPDATE
@ GPU_BARRIER_ELEMENT_ARRAY
@ GPU_BARRIER_SHADER_IMAGE_ACCESS
@ GPU_BARRIER_VERTEX_ATTRIB_ARRAY
@ GPU_BARRIER_TEXTURE_UPDATE
@ GPU_BARRIER_FRAMEBUFFER
Read Guarded memory(de)allocation.
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Texture
void texture_bind_temp(GLTexture *tex)
GLFrameBuffer * active_fb
void image_unbind(Texture *tex) override
void image_bind(Texture *tex, int unit) override
void apply_state() override
void texture_unpack_row_length_set(uint len) override
void issue_barrier(eGPUBarrier barrier_bits) override
void texture_unbind_all() override
uint8_t bound_image_slots()
void force_state() override
uint64_t bound_texture_slots()
void texture_bind(Texture *tex, GPUSamplerState sampler, int unit) override
void image_unbind_all() override
void texture_unbind(Texture *tex) override
local_group_size(16, 16) .push_constant(Type local_group_size(16, 16) .push_constant(Type input_tx sampler(1, ImageType::FLOAT_2D, "matte_tx") .image(0
CCL_NAMESPACE_BEGIN ccl_device float invert(float color, float factor)
static GLenum to_gl(const GPUAttachmentType type)
unsigned __int64 uint64_t