mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-01 01:07:51 -04:00
Support for R16I and R16UI
This commit is contained in:
parent
dac2bfc7b9
commit
b2ebd78d81
@ -8334,6 +8334,7 @@ get_external_image_format(Texture *tex) const {
|
||||
case Texture::F_blue:
|
||||
case Texture::F_r8i:
|
||||
case Texture::F_r16:
|
||||
case Texture::F_r16i:
|
||||
case Texture::F_r32:
|
||||
case Texture::F_r32i:
|
||||
return GL_COMPRESSED_RED;
|
||||
@ -8539,6 +8540,7 @@ get_external_image_format(Texture *tex) const {
|
||||
|
||||
#ifndef OPENGLES_1
|
||||
case Texture::F_r8i:
|
||||
case Texture::F_r16i:
|
||||
case Texture::F_r32i:
|
||||
return GL_RED_INTEGER;
|
||||
case Texture::F_rg8i:
|
||||
@ -8596,6 +8598,7 @@ get_internal_image_format(Texture *tex, bool force_sized) const {
|
||||
case Texture::F_rg8i:
|
||||
case Texture::F_rgb8i:
|
||||
case Texture::F_rgba8i:
|
||||
case Texture::F_r16i:
|
||||
case Texture::F_r32i:
|
||||
case Texture::F_r11_g11_b10:
|
||||
case Texture::F_rgb9_e5:
|
||||
@ -9072,6 +9075,12 @@ get_internal_image_format(Texture *tex, bool force_sized) const {
|
||||
} else {
|
||||
return GL_R16_SNORM;
|
||||
}
|
||||
case Texture::F_r16i:
|
||||
if (Texture::is_unsigned(tex->get_component_type())) {
|
||||
return GL_R16UI;
|
||||
} else {
|
||||
return GL_R16I;
|
||||
}
|
||||
case Texture::F_rg16:
|
||||
if (tex->get_component_type() == Texture::T_float) {
|
||||
return GL_RG16F;
|
||||
@ -12662,6 +12671,16 @@ do_extract_texture_data(CLP(TextureContext) *gtc) {
|
||||
type = Texture::T_unsigned_byte;
|
||||
format = Texture::F_rgba8i;
|
||||
break;
|
||||
|
||||
case GL_R16I:
|
||||
type = Texture::T_short;
|
||||
format = Texture::F_r16i;
|
||||
break;
|
||||
case GL_R16UI:
|
||||
type = Texture::T_unsigned_short;
|
||||
format = Texture::F_r16i;
|
||||
break;
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef OPENGLES_1
|
||||
|
@ -514,6 +514,7 @@ estimate_texture_memory() const {
|
||||
break;
|
||||
|
||||
case Texture::F_r16:
|
||||
case Texture::F_r16i:
|
||||
case Texture::F_rg8i:
|
||||
bpp = 2;
|
||||
break;
|
||||
@ -1532,6 +1533,10 @@ write(ostream &out, int indent_level) const {
|
||||
case F_r16:
|
||||
out << "r16";
|
||||
break;
|
||||
case F_r16i:
|
||||
out << "r16i";
|
||||
break;
|
||||
|
||||
case F_rg16:
|
||||
out << "rg16";
|
||||
break;
|
||||
@ -1950,6 +1955,8 @@ format_format(Format format) {
|
||||
return "rgba32";
|
||||
case F_r16:
|
||||
return "r16";
|
||||
case F_r16i:
|
||||
return "r16i";
|
||||
case F_rg16:
|
||||
return "rg16";
|
||||
case F_rgb16:
|
||||
@ -2049,6 +2056,8 @@ string_format(const string &str) {
|
||||
return F_rgba32;
|
||||
} else if (cmp_nocase(str, "r16") == 0 || cmp_nocase(str, "red16") == 0) {
|
||||
return F_r16;
|
||||
} else if (cmp_nocase(str, "r16i") == 0) {
|
||||
return F_r16i;
|
||||
} else if (cmp_nocase(str, "rg16") == 0 || cmp_nocase(str, "r16g16") == 0) {
|
||||
return F_rg16;
|
||||
} else if (cmp_nocase(str, "rgb16") == 0 || cmp_nocase(str, "r16g16b16") == 0) {
|
||||
@ -5745,6 +5754,7 @@ do_set_format(CData *cdata, Texture::Format format) {
|
||||
case F_alpha:
|
||||
case F_luminance:
|
||||
case F_r16:
|
||||
case F_r16i:
|
||||
case F_sluminance:
|
||||
case F_r32i:
|
||||
case F_r32:
|
||||
|
@ -159,6 +159,7 @@ PUBLISHED:
|
||||
F_rgb10_a2,
|
||||
|
||||
F_rg,
|
||||
F_r16i
|
||||
};
|
||||
|
||||
// Deprecated. See SamplerState.FilterType.
|
||||
|
Loading…
x
Reference in New Issue
Block a user