forked from bartvdbraak/blender
BGE Rasterizer Cleanup: Getting rid of RAS_IRasterizer::RenderText(), and just adding the code to IndexPrimitives_3DText(), which is the only function that uses RenderText().
This commit is contained in:
parent
a565e34c39
commit
e2c91b570d
@ -495,16 +495,6 @@ public:
|
||||
int height
|
||||
) = 0;
|
||||
|
||||
// 3d text, mapped on polygon
|
||||
virtual void RenderText(int mode,
|
||||
RAS_IPolyMaterial* polymat,
|
||||
float v1[3],
|
||||
float v2[3],
|
||||
float v3[3],
|
||||
float v4[3],
|
||||
int glattrib
|
||||
)=0;
|
||||
|
||||
virtual void ProcessLighting(bool uselights, const MT_Transform& trans)=0;
|
||||
|
||||
virtual void PushMatrix()=0;
|
||||
|
@ -681,6 +681,12 @@ void RAS_OpenGLRasterizer::IndexPrimitives_3DText(RAS_MeshSlot& ms,
|
||||
bool obcolor = ms.m_bObjectColor;
|
||||
MT_Vector4& rgba = ms.m_RGBAcolor;
|
||||
RAS_MeshSlot::iterator it;
|
||||
struct MTFace* tface = 0;
|
||||
|
||||
const STR_String& mytext = ((CValue*)m_clientobject)->GetPropertyText("Text");
|
||||
|
||||
const unsigned int flag = polymat->GetFlag();
|
||||
unsigned int *col = 0;
|
||||
|
||||
// handle object color
|
||||
if (obcolor) {
|
||||
@ -732,9 +738,18 @@ void RAS_OpenGLRasterizer::IndexPrimitives_3DText(RAS_MeshSlot& ms,
|
||||
for (unit=0; unit<m_attrib_num; unit++)
|
||||
if (m_attrib[unit] == RAS_TEXCO_UV)
|
||||
glattrib = unit;
|
||||
|
||||
RenderText(polymat->GetDrawingMode(), polymat,
|
||||
v[0], v[1], v[2], (numvert == 4)? v[3]: NULL, glattrib);
|
||||
|
||||
if (flag & RAS_BLENDERMAT) {
|
||||
KX_BlenderMaterial *bl_mat = static_cast<KX_BlenderMaterial*>(polymat);
|
||||
tface = bl_mat->GetMTFace();
|
||||
col = bl_mat->GetMCol();
|
||||
} else {
|
||||
KX_PolygonMaterial* blenderpoly = static_cast<KX_PolygonMaterial*>(polymat);
|
||||
tface = blenderpoly->GetMTFace();
|
||||
col = blenderpoly->GetMCol();
|
||||
}
|
||||
|
||||
GPU_render_text(tface, polymat->GetDrawingMode(), mytext, mytext.Length(), col, v[1], v[2], v[3], v[4], glattrib);
|
||||
|
||||
ClearCachingInfo();
|
||||
}
|
||||
@ -1500,34 +1515,6 @@ void RAS_OpenGLRasterizer::RenderText2D(RAS_TEXT_RENDER_MODE mode,
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
}
|
||||
|
||||
/* Render Text renders text into a (series of) polygon, using a texture font,
|
||||
* Each character consists of one polygon (one quad or two triangles) */
|
||||
|
||||
void RAS_OpenGLRasterizer::RenderText(
|
||||
int mode,
|
||||
RAS_IPolyMaterial* polymat,
|
||||
float v1[3], float v2[3], float v3[3], float v4[3], int glattrib)
|
||||
{
|
||||
const STR_String& mytext = ((CValue*)m_clientobject)->GetPropertyText("Text");
|
||||
|
||||
const unsigned int flag = polymat->GetFlag();
|
||||
struct MTFace* tface = 0;
|
||||
unsigned int *col = 0;
|
||||
|
||||
if (flag & RAS_BLENDERMAT) {
|
||||
KX_BlenderMaterial *bl_mat = static_cast<KX_BlenderMaterial*>(polymat);
|
||||
tface = bl_mat->GetMTFace();
|
||||
col = bl_mat->GetMCol();
|
||||
} else {
|
||||
KX_PolygonMaterial* blenderpoly = static_cast<KX_PolygonMaterial*>(polymat);
|
||||
tface = blenderpoly->GetMTFace();
|
||||
col = blenderpoly->GetMCol();
|
||||
}
|
||||
|
||||
GPU_render_text(tface, mode, mytext, mytext.Length(), col, v1, v2, v3, v4, glattrib);
|
||||
}
|
||||
|
||||
|
||||
void RAS_OpenGLRasterizer::PushMatrix()
|
||||
{
|
||||
glPushMatrix();
|
||||
|
@ -366,14 +366,6 @@ public:
|
||||
int width,
|
||||
int height);
|
||||
|
||||
void RenderText(int mode,
|
||||
class RAS_IPolyMaterial* polymat,
|
||||
float v1[3],
|
||||
float v2[3],
|
||||
float v3[3],
|
||||
float v4[3],
|
||||
int glattrib);
|
||||
|
||||
void applyTransform(double* oglmatrix, int objectdrawmode);
|
||||
int applyLights(int objectlayer, const MT_Transform& viewmat);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user