MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / rend_SetAlphaType

Function rend_SetAlphaType

renderer/HardwareOpenGL.cpp:1904–1960  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1902}
1903
1904void rend_SetAlphaType(int8_t atype) {
1905 if (atype == gpu_state.cur_alpha_type)
1906 return; // don't set it redundantly
1907#if (defined(_USE_OGL_ACTIVE_TEXTURES))
1908 if (UseMultitexture && Last_texel_unit_set != 0) {
1909 oglActiveTextureARB(GL_TEXTURE0_ARB + 0);
1910 Last_texel_unit_set = 0;
1911 }
1912#endif
1913 OpenGL_sets_this_frame[6]++;
1914
1915 if (atype == AT_ALWAYS) {
1916 if (opengl_Blending_on) {
1917 dglDisable(GL_BLEND);
1918 opengl_Blending_on = false;
1919 }
1920 } else {
1921 if (!opengl_Blending_on) {
1922 dglEnable(GL_BLEND);
1923 opengl_Blending_on = true;
1924 }
1925 }
1926
1927 switch (atype) {
1928 case AT_ALWAYS:
1929 case AT_TEXTURE:
1930 rend_SetAlphaValue(255);
1931 dglBlendFunc(GL_ONE, GL_ZERO);
1932 break;
1933 case AT_CONSTANT:
1934 case AT_CONSTANT_TEXTURE:
1935 case AT_VERTEX:
1936 case AT_CONSTANT_TEXTURE_VERTEX:
1937 case AT_CONSTANT_VERTEX:
1938 case AT_TEXTURE_VERTEX:
1939 dglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
1940 break;
1941 case AT_LIGHTMAP_BLEND:
1942 dglBlendFunc(GL_DST_COLOR, GL_ZERO);
1943 break;
1944 case AT_SATURATE_TEXTURE:
1945 case AT_LIGHTMAP_BLEND_SATURATE:
1946 case AT_SATURATE_VERTEX:
1947 case AT_SATURATE_CONSTANT_VERTEX:
1948 case AT_SATURATE_TEXTURE_VERTEX:
1949 dglBlendFunc(GL_SRC_ALPHA, GL_ONE);
1950 break;
1951 case AT_SPECULAR:
1952 break;
1953 default:
1954 Int3(); // no type defined,get jason
1955 break;
1956 }
1957 gpu_state.cur_alpha_type = atype;
1958 gpu_Alpha_multiplier = rend_GetAlphaMultiplier();
1959 CHECK_ERROR(15)
1960}
1961

Callers 15

rend_DrawSimpleBitmapFunction · 0.70
opengl_SetDefaultsFunction · 0.70
rend_DrawLineFunction · 0.70
DrawPolygonModelFunction · 0.50
RenderSubmodelFaceFunction · 0.50
DrawThrusterEffectFunction · 0.50
DrawGlowEffectFunction · 0.50
RenderSubmodelFunction · 0.50
RenderPolygonModelFunction · 0.50
ui_DoCursorFunction · 0.50

Calls 2

rend_GetAlphaMultiplierFunction · 0.85
rend_SetAlphaValueFunction · 0.70

Tested by

no test coverage detected