|
UFO: Alien Invasion
|
Functions to generate and render spheres. More...

Go to the source code of this file.
Functions | |
| static float | rhoSpiral (const int index, const float deltaRho, const float thetaAngle) |
| void | R_SphereGenerate (sphere_t *sphere, const int tris, const float radius) |
| Initialize the globe chain arrays. | |
| void | R_SphereInit (void) |
| Creates the spheres we need for rendering the 3d globe. | |
| static void | R_SphereActivateTextureUnit (gltexunit_t *texunit, void *texCoordBuffer) |
| static void | R_SphereDeactivateTextureUnit (gltexunit_t *texunit) |
| static void | R_SphereRenderTris (const sphere_t *sphere) |
| static bool | R_SphereCheckGLSL (const sphere_t *sphere) |
| static void | R_SphereShade (const sphere_t *sphere) |
| render sphere using standard OpenGL lighting | |
| static void | R_SphereShadeGLSL (const sphere_t *sphere) |
| render sphere using GLSL (bump mapping, specularity, and season-blending) | |
| void | R_SphereRender (const sphere_t *sphere, const vec3_t pos, const vec3_t rotate, const float scale, const vec4_t lightPos) |
| Draw the sphere. | |
Variables | |
| static cvar_t * | r_sphereDetails |
| sphere_t | r_globeEarth |
| sphere_t | r_globeMoon |
| sphere_t | r_globeEarthAtmosphere |
Functions to generate and render spheres.
Definition in file r_sphere.cpp.
|
inlinestatic |
Definition at line 131 of file r_sphere.cpp.
References R_BindArray(), and R_SelectTexture().
Referenced by R_SphereShadeGLSL().
|
inlinestatic |
| sphere | The sphere to check |
true if all needed data is loaded to use the geoscape glsl shaders, false otherwise Definition at line 162 of file r_sphere.cpp.
References sphere_t::glslProgram, and r_programs.
Referenced by R_SphereRender().
|
inlinestatic |
Definition at line 138 of file r_sphere.cpp.
References R_BindDefaultArray(), and R_SelectTexture().
Referenced by R_SphereShadeGLSL().
Initialize the globe chain arrays.
| [out] | sphere | The sphere you want to create |
| [in] | tris | The amount of tris the globe should have - the higher the number the higher the details. tris*tris triangles are obtained. |
| [in] | radius | The radius of the sphere |
< angle from the pole (z-axis)
< angle around the equator, from y-axis
Definition at line 51 of file r_sphere.cpp.
References sphere_t::glslProgram, i, M_PI, Mem_PoolAllocTypeN, sphere_t::normals, sphere_t::num_tris, rhoSpiral(), sphere_t::texes, Vector2Set, VectorNormalize2(), VectorSet, sphere_t::verts, and vid_genericPool.
Referenced by R_SphereInit().
Creates the spheres we need for rendering the 3d globe.
Definition at line 119 of file r_sphere.cpp.
References CVAR_ARCHIVE, Cvar_Get(), Cvar_SetValue(), EARTH_RADIUS, MOON_RADIUS, r_globeEarth, r_globeEarthAtmosphere, r_globeMoon, r_sphereDetails, and R_SphereGenerate().
Referenced by R_Init().
| void R_SphereRender | ( | const sphere_t * | sphere, |
| const vec3_t | pos, | ||
| const vec3_t | rotate, | ||
| const float | scale, | ||
| const vec4_t | lightPos ) |
Draw the sphere.
| [in] | sphere | The sphere that should be rendered |
| [in] | pos | The position (translation) of the matrix |
| [in] | rotate | The rotation of the matrix |
| [in] | scale | The scale of the matrix |
| [in] | lightPos | Set this to nullptr if you don't want to change the light position |
Definition at line 247 of file r_sphere.cpp.
References sphere_t::num_tris, sphere_t::overlay, PITCH, R_BindDefaultArray(), R_CheckError, R_SphereCheckGLSL(), R_SphereShade(), R_SphereShadeGLSL(), refdef, ROLL, scale, VectorNotEmpty, viddef, and YAW.
Referenced by R_Draw3DGlobe().
Definition at line 145 of file r_sphere.cpp.
References sphere_t::num_tris, and refdef.
Referenced by R_SphereShade(), and R_SphereShadeGLSL().
render sphere using standard OpenGL lighting
Definition at line 170 of file r_sphere.cpp.
References sphere_t::normals, sphere_t::overlay, sphere_t::overlayAlphaMask, R_BindArray(), R_BindLightmapTexture(), R_BindTexture, R_EnableTexture(), R_SelectTexture(), R_SphereRenderTris(), sphere_t::texes, image_t::texnum, sphere_t::texture, texunit_lightmap, and sphere_t::verts.
Referenced by R_SphereRender().
render sphere using GLSL (bump mapping, specularity, and season-blending)
Definition at line 201 of file r_sphere.cpp.
References sphere_t::blendScale, sphere_t::blendTexture, sphere_t::glowScale, sphere_t::glslProgram, sphere_t::nightLightPos, sphere_t::normalMap, sphere_t::normals, R_BindArray(), R_BindTexture, R_BindTextureForTexUnit(), R_EnableLighting(), R_ProgramParameter1f(), R_SelectTexture(), R_SphereActivateTextureUnit(), R_SphereDeactivateTextureUnit(), R_SphereRenderTris(), sphere_t::texes, image_t::texnum, sphere_t::texture, texunit_1, texunit_2, texunit_diffuse, Vector4NotEmpty, and sphere_t::verts.
Referenced by R_SphereRender().
|
inlinestatic |
Definition at line 37 of file r_sphere.cpp.
Referenced by R_SphereGenerate().
| sphere_t r_globeEarth |
Definition at line 33 of file r_sphere.cpp.
Referenced by R_Draw3DGlobe(), and R_SphereInit().
| sphere_t r_globeEarthAtmosphere |
Definition at line 35 of file r_sphere.cpp.
Referenced by R_Draw3DGlobe(), and R_SphereInit().
| sphere_t r_globeMoon |
Definition at line 34 of file r_sphere.cpp.
Referenced by R_Draw3DGlobe(), and R_SphereInit().
|
static |
Definition at line 31 of file r_sphere.cpp.
Referenced by R_SphereInit().