Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/intern/gpu_texture.c
| Show First 20 Lines • Show All 1,642 Lines • ▼ Show 20 Lines | void GPU_texture_wrap_mode(GPUTexture *tex, bool use_repeat) | ||||
| if (tex->target_base != GL_TEXTURE_1D) { | if (tex->target_base != GL_TEXTURE_1D) { | ||||
| glTexParameteri(tex->target_base, GL_TEXTURE_WRAP_T, repeat); | glTexParameteri(tex->target_base, GL_TEXTURE_WRAP_T, repeat); | ||||
| } | } | ||||
| if (tex->target_base == GL_TEXTURE_3D) { | if (tex->target_base == GL_TEXTURE_3D) { | ||||
| glTexParameteri(tex->target_base, GL_TEXTURE_WRAP_R, repeat); | glTexParameteri(tex->target_base, GL_TEXTURE_WRAP_R, repeat); | ||||
| } | } | ||||
| } | } | ||||
| void GPU_texture_swizzle_channel_auto(GPUTexture *tex, int channels) | |||||
| { | |||||
| WARN_NOT_BOUND(tex); | |||||
| glActiveTexture(GL_TEXTURE0 + tex->number); | |||||
| glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_R, GL_RED); | |||||
| glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_G, (channels >= 2) ? GL_GREEN : GL_RED); | |||||
| glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_B, (channels >= 3) ? GL_BLUE : GL_RED); | |||||
| glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_A, (channels >= 4) ? GL_ALPHA : GL_ONE); | |||||
| } | |||||
| static GLenum gpu_get_gl_filterfunction(eGPUFilterFunction filter) | static GLenum gpu_get_gl_filterfunction(eGPUFilterFunction filter) | ||||
| { | { | ||||
| switch (filter) { | switch (filter) { | ||||
| case GPU_NEAREST: | case GPU_NEAREST: | ||||
| return GL_NEAREST; | return GL_NEAREST; | ||||
| case GPU_LINEAR: | case GPU_LINEAR: | ||||
| return GL_LINEAR; | return GL_LINEAR; | ||||
| default: | default: | ||||
| ▲ Show 20 Lines • Show All 168 Lines • Show Last 20 Lines | |||||