38 float line_width_range_[2];
47 GLuint targets_[64] = {GL_TEXTURE_2D};
48 GLuint textures_[64] = {0};
49 GLuint samplers_[64] = {0};
52 GLuint images_[8] = {0};
53 GLenum formats_[8] = {0};
89 static void set_clip_distances(
int new_dist_len,
int old_dist_len);
90 static void set_logic_op(
bool enable);
91 static void set_facing(
bool invert);
94 static void set_shadow_bias(
bool enable);
97 void set_state(
const GPUState &
state);
98 void set_mutable_state(
const GPUStateMutable &
state);
100 void texture_bind_apply();
101 void image_bind_apply();
103 MEM_CXX_CLASS_ALLOC_FUNCS(
"GLStateManager")
108 GLbitfield barrier = 0;
110 barrier |= GL_SHADER_IMAGE_ACCESS_BARRIER_BIT;
113 barrier |= GL_SHADER_STORAGE_BARRIER_BIT;
116 barrier |= GL_TEXTURE_FETCH_BARRIER_BIT;
119 barrier |= GL_TEXTURE_UPDATE_BARRIER_BIT;
122 barrier |= GL_COMMAND_BARRIER_BIT;
125 barrier |= GL_FRAMEBUFFER_BARRIER_BIT;
128 barrier |= GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT;
131 barrier |= GL_ELEMENT_ARRAY_BARRIER_BIT;
@ GPU_BARRIER_SHADER_STORAGE
@ GPU_BARRIER_TEXTURE_FETCH
@ 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 texture_bind(Texture *tex, eGPUSamplerState sampler, int unit) override
void force_state() override
uint64_t bound_texture_slots()
void image_unbind_all() override
void texture_unbind(Texture *tex) override
depth_tx sampler(1, ImageType::FLOAT_2D, "combined_tx") .sampler(2
CCL_NAMESPACE_BEGIN ccl_device float invert(float color, float factor)
static GLenum to_gl(const GPUAttachmentType type)
unsigned __int64 uint64_t