texture_builtins.py: Refactor coordinate dimension calculations.
For offsets, we'll want the straight sampler dimensionality, without the +1 for array types. Create a new function to do that; refactor.
This commit is contained in:
parent
819d57fce9
commit
99f36486eb
|
@ -12,16 +12,20 @@ def vec_type(g, size):
|
|||
return "float"
|
||||
return g + "vec" + str(size)
|
||||
|
||||
# Get the base dimension - i.e. sampler3D gives 3
|
||||
# Array samplers also get +1 here since the layer is really an extra coordinate
|
||||
def get_coord_dim(sampler_type):
|
||||
# Get the sampler dimension - i.e. sampler3D gives 3
|
||||
def get_sampler_dim(sampler_type):
|
||||
if sampler_type[0].isdigit():
|
||||
coord_dim = int(sampler_type[0])
|
||||
sampler_dim = int(sampler_type[0])
|
||||
elif sampler_type.startswith("Cube"):
|
||||
coord_dim = 3
|
||||
sampler_dim = 3
|
||||
else:
|
||||
assert False ("coord_dim: invalid sampler_type: " + sampler_type)
|
||||
return sampler_dim
|
||||
|
||||
# Get the coordinate dimension for a given sampler type.
|
||||
# Array samplers also get +1 here since the layer is really an extra coordinate
|
||||
def get_coord_dim(sampler_type):
|
||||
coord_dim = get_sampler_dim(sampler_type)
|
||||
if sampler_type.find("Array") != -1:
|
||||
coord_dim += 1
|
||||
return coord_dim
|
||||
|
|
Loading…
Reference in New Issue