DRYer
This commit is contained in:
parent
fe3e51a00d
commit
0a21819e16
@ -12,15 +12,15 @@ from .fast_data_types import (
|
|||||||
BOLD, GL_ARRAY_BUFFER, GL_CLAMP_TO_EDGE, GL_COMPILE_STATUS, GL_FLOAT,
|
BOLD, GL_ARRAY_BUFFER, GL_CLAMP_TO_EDGE, GL_COMPILE_STATUS, GL_FLOAT,
|
||||||
GL_FRAGMENT_SHADER, GL_LINK_STATUS, GL_MAX_ARRAY_TEXTURE_LAYERS,
|
GL_FRAGMENT_SHADER, GL_LINK_STATUS, GL_MAX_ARRAY_TEXTURE_LAYERS,
|
||||||
GL_MAX_TEXTURE_SIZE, GL_NEAREST, GL_R8, GL_R32UI, GL_RED, GL_STATIC_DRAW,
|
GL_MAX_TEXTURE_SIZE, GL_NEAREST, GL_R8, GL_R32UI, GL_RED, GL_STATIC_DRAW,
|
||||||
GL_STREAM_DRAW, GL_TEXTURE0, GL_TEXTURE1, GL_TEXTURE_2D_ARRAY,
|
GL_STREAM_DRAW, GL_TEXTURE0, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_BUFFER,
|
||||||
GL_TEXTURE_BUFFER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER,
|
GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_WRAP_S,
|
||||||
GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TRUE, GL_UNPACK_ALIGNMENT,
|
GL_TEXTURE_WRAP_T, GL_TRUE, GL_UNPACK_ALIGNMENT, GL_UNSIGNED_BYTE,
|
||||||
GL_UNSIGNED_BYTE, GL_VERTEX_SHADER, ITALIC, SpriteMap, copy_image_sub_data,
|
GL_VERTEX_SHADER, ITALIC, SpriteMap, copy_image_sub_data, glActiveTexture,
|
||||||
glActiveTexture, glAttachShader, glBindBuffer, glBindTexture,
|
glAttachShader, glBindBuffer, glBindTexture, glBindVertexArray,
|
||||||
glBindVertexArray, glCompileShader, glCopyImageSubData, glCreateProgram,
|
glCompileShader, glCopyImageSubData, glCreateProgram, glCreateShader,
|
||||||
glCreateShader, glDeleteBuffer, glDeleteProgram, glDeleteShader,
|
glDeleteBuffer, glDeleteProgram, glDeleteShader, glDeleteTexture,
|
||||||
glDeleteTexture, glEnableVertexAttribArray, glGenBuffers, glGenTextures,
|
glEnableVertexAttribArray, glGenBuffers, glGenTextures, glGenVertexArrays,
|
||||||
glGenVertexArrays, glGetAttribLocation, glGetBufferSubData, glGetIntegerv,
|
glGetAttribLocation, glGetBufferSubData, glGetIntegerv,
|
||||||
glGetProgramInfoLog, glGetProgramiv, glGetShaderInfoLog, glGetShaderiv,
|
glGetProgramInfoLog, glGetProgramiv, glGetShaderInfoLog, glGetShaderiv,
|
||||||
glGetUniformLocation, glLinkProgram, glNamedBufferData, glPixelStorei,
|
glGetUniformLocation, glLinkProgram, glNamedBufferData, glPixelStorei,
|
||||||
glShaderSource, glTexBuffer, glTexParameteri, glTexStorage3D,
|
glShaderSource, glTexBuffer, glTexParameteri, glTexStorage3D,
|
||||||
@ -54,15 +54,16 @@ class Sprites:
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.prev_sprite_map_sz = 0
|
self.prev_sprite_map_sz = 0
|
||||||
self.xnum = self.ynum = 1
|
self.xnum = self.ynum = 1
|
||||||
self.sampler_num = 0
|
|
||||||
self.buffer_sampler_num = 1
|
|
||||||
self.first_cell_cache = {}
|
self.first_cell_cache = {}
|
||||||
self.second_cell_cache = {}
|
self.second_cell_cache = {}
|
||||||
self.x = self.y = self.z = 0
|
self.x = self.y = self.z = 0
|
||||||
self.texture_id = self.buffer_texture_id = None
|
self.texture_id = self.buffer_texture_id = None
|
||||||
self.last_num_of_layers = 1
|
self.last_num_of_layers = 1
|
||||||
self.last_ynum = -1
|
self.last_ynum = -1
|
||||||
self.texture_unit = GL_TEXTURE0
|
self.sampler_num = 0
|
||||||
|
self.buffer_sampler_num = 1
|
||||||
|
self.texture_unit = GL_TEXTURE0 + self.sampler_num
|
||||||
|
self.buffer_texture_unit = GL_TEXTURE0 + self.buffer_sampler_num
|
||||||
self.backend = SpriteMap(glGetIntegerv(GL_MAX_TEXTURE_SIZE), glGetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS))
|
self.backend = SpriteMap(glGetIntegerv(GL_MAX_TEXTURE_SIZE), glGetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS))
|
||||||
self.lock = Lock()
|
self.lock = Lock()
|
||||||
|
|
||||||
@ -157,12 +158,13 @@ class Sprites:
|
|||||||
self.texture_id = None
|
self.texture_id = None
|
||||||
if self.buffer_texture_id is not None:
|
if self.buffer_texture_id is not None:
|
||||||
glDeleteTexture(self.buffer_texture_id)
|
glDeleteTexture(self.buffer_texture_id)
|
||||||
|
self.buffer_texture_id = None
|
||||||
|
|
||||||
def ensure_state(self):
|
def ensure_state(self):
|
||||||
if self.texture_id is None:
|
if self.texture_id is None:
|
||||||
self.realloc_texture()
|
self.realloc_texture()
|
||||||
|
if self.buffer_texture_id is None:
|
||||||
self.buffer_texture_id = glGenTextures(1)
|
self.buffer_texture_id = glGenTextures(1)
|
||||||
self.buffer_texture_unit = GL_TEXTURE1
|
|
||||||
|
|
||||||
def add_sprite_map(self):
|
def add_sprite_map(self):
|
||||||
return glGenBuffers(1)
|
return glGenBuffers(1)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user