Добавил callback класс для работы с шейдерами и entity - можно творить что угодно
выглядит это следующим образом:
class SHCallback : public ocge::IShaderCallback
{
ocge::Oint mycolor;
public:
void onCreate(ocge::IShader* shader)
{
mycolor = shader->getUniformHandle("mycolor");
}
void onEntityRender(ocge::IShader* shader, ocge::IEntity* entity)
{
if(entity->getName() == "cube")
shader->setUniform4f(mycolor,0,1,0,1);
else
shader->setUniform4f(mycolor,1,0,0,1);
}
};
ocge::IShader* cbshader = engine->createShader(sh_vert, sh_frag);
cbshader->setCallback(new SHCallback());
cube->setShader(cbshader);
Чорт. Никак не зарелизю бэтку... стока в голову лезет идей, которыми я хочу поделиться.
еще я сделал автоматическую генерацию шадоу мапы, если включена функция в источнике освещения, и можно получить доступ к ней из шейдера (шадоу мапа берется из первого источника освещения, но есть возможность вытащить из любого) пока что только directional. Если есть желание у программиста, то естественно, он вообще все сам может написать (работу с освещением имеется ввиду)