mirror of
https://github.com/edubart/otclient.git
synced 2025-10-16 04:24:54 +02:00
pass item id to item shader
This commit is contained in:
@@ -49,6 +49,7 @@ ItemPtr Item::create(int id)
|
||||
}
|
||||
|
||||
PainterShaderProgramPtr itemProgram;
|
||||
int ITEM_ID_UNIFORM = 10;
|
||||
|
||||
void Item::draw(const Point& dest, float scaleFactor, bool animate)
|
||||
{
|
||||
@@ -167,8 +168,11 @@ void Item::draw(const Point& dest, float scaleFactor, bool animate)
|
||||
itemProgram->addShaderFromSourceCode(Shader::Vertex, glslMainWithTexCoordsVertexShader + glslPositionOnlyVertexShader);
|
||||
itemProgram->addShaderFromSourceFile(Shader::Fragment, "/game_shaders/item.frag");
|
||||
assert(itemProgram->link());
|
||||
itemProgram->bindUniformLocation(ITEM_ID_UNIFORM, "itemId");
|
||||
}
|
||||
g_painter.setCustomProgram(itemProgram);
|
||||
itemProgram->bind();
|
||||
itemProgram->setUniformValue(ITEM_ID_UNIFORM, (int)m_id);
|
||||
|
||||
// now we can draw the item
|
||||
internalDraw(dest, scaleFactor, xPattern, yPattern, zPattern, animationPhase);
|
||||
|
Reference in New Issue
Block a user