mirror of
https://github.com/aap/librw.git
synced 2025-12-18 16:39:51 +00:00
implemented texture raster renderstates
This commit is contained in:
@@ -96,7 +96,11 @@ printScreen(const char *s, float32 x, float32 y)
|
||||
|
||||
s++;
|
||||
}
|
||||
engine->imtexture = curfont->tex;
|
||||
|
||||
rw::SetRenderStatePtr(rw::TEXTURERASTER, curfont->tex->raster);
|
||||
rw::SetRenderState(rw::TEXTUREADDRESS, rw::Texture::WRAP);
|
||||
rw::SetRenderState(rw::TEXTUREFILTER, rw::Texture::NEAREST);
|
||||
|
||||
im2d::RenderIndexedPrimitive(rw::PRIMTYPETRILIST,
|
||||
vertices, curVert, indices, curIndex);
|
||||
|
||||
|
||||
@@ -263,7 +263,9 @@ im2dtest(void)
|
||||
verts[i].setV(vs[i].v, recipZ);
|
||||
}
|
||||
|
||||
rw::engine->imtexture = tex2;
|
||||
rw::SetRenderStatePtr(rw::TEXTURERASTER, tex2->raster);
|
||||
rw::SetRenderState(rw::TEXTUREADDRESS, rw::Texture::WRAP);
|
||||
rw::SetRenderState(rw::TEXTUREFILTER, rw::Texture::NEAREST);
|
||||
rw::SetRenderState(rw::VERTEXALPHA, 1);
|
||||
rw::im2d::RenderIndexedPrimitive(rw::PRIMTYPETRISTRIP,
|
||||
&verts, 4, &indices, 4);
|
||||
@@ -305,7 +307,9 @@ im3dtest(void)
|
||||
verts[i].setV(vs[i].v);
|
||||
}
|
||||
|
||||
rw::engine->imtexture = tex;
|
||||
rw::SetRenderStatePtr(rw::TEXTURERASTER, tex->raster);
|
||||
rw::SetRenderState(rw::TEXTUREADDRESS, rw::Texture::WRAP);
|
||||
rw::SetRenderState(rw::TEXTUREFILTER, rw::Texture::NEAREST);
|
||||
|
||||
/*
|
||||
genIm3DTransform(verts, 8, nil);
|
||||
@@ -325,9 +329,9 @@ Draw(float timeDelta)
|
||||
camera->update();
|
||||
camera->m_rwcam->beginUpdate();
|
||||
|
||||
// Scene.clump->render();
|
||||
Scene.clump->render();
|
||||
// im2dtest();
|
||||
tlTest(Scene.clump);
|
||||
// tlTest(Scene.clump);
|
||||
// im3dtest();
|
||||
// printScreen("Hello, World!", 10, 10);
|
||||
|
||||
|
||||
@@ -116,7 +116,15 @@ drawAtomic(Atomic *a)
|
||||
im2dverts[idx].setColor(col.red, col.green, col.blue, col.alpha);
|
||||
}
|
||||
|
||||
engine->imtexture = m[i].material->texture;
|
||||
rw::Texture *tex = m[i].material->texture;
|
||||
if(tex && tex->raster){
|
||||
rw::SetRenderStatePtr(rw::TEXTURERASTER, tex->raster);
|
||||
rw::SetRenderState(rw::TEXTUREADDRESSU, tex->getAddressU());
|
||||
rw::SetRenderState(rw::TEXTUREADDRESSV, tex->getAddressV());
|
||||
rw::SetRenderState(rw::TEXTUREFILTER, tex->getFilter());
|
||||
}else
|
||||
rw::SetRenderStatePtr(rw::TEXTURERASTER, nil);
|
||||
|
||||
im2d::RenderIndexedPrimitive(rw::PRIMTYPETRILIST,
|
||||
im2dverts, g->numVertices, m[i].indices, m[i].numIndices);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user