Ok, after reading a bit about shader attribute variables, I decided there is no way to change the way interpolation between vertices is done. So the color I get to use inside the fragment shader will always be triangle-interpolated and it's impossible to modify the weighting. For example, the right-angle vertex' weight will always be 0 at the hypothenuse, which just won't work.
I also decided it's impossible to pass the 3 (+1) "raw" vertex colors to the fragment shader to do the interpolation there, based on uv-coordinates.
I then went on to figure out how to use an SVN client to download the shader-pipeline branch, which would finally allow me to use actual quads and other stuff like custom vertex-types.
...and finally got stuck trying to compile that thing. Can I comment out all the d3dX defines and just use openGL? I did download the Windows kit from the link inside IrrCompileConfig.h, but there's no d3d9shader.h and I don't know what libs I need to use from there.
And even if I comment all the d3d stuff out, I still get linker errors and have no idea what to do about them:
Code: Select all
1>CSceneManager.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall irr::scene::CInstancedMeshSceneNode::CInstancedMeshSceneNode(class irr::scene::IMesh *,class irr::scene::ISceneNode *,class irr::scene::ISceneManager *,int,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &)" (??0CInstancedMeshSceneNode@scene@irr@@QAE@PAVIMesh@12@PAVISceneNode@12@PAVISceneManager@12@HABV?$vector3d@M@core@2@33@Z)".
1>CIrrDeviceWin32.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""class irr::video::IVideoDriver * __cdecl irr::video::createDirectX11Driver(struct irr::SIrrlichtCreationParameters const &,class irr::io::IFileSystem *,struct HWND__ *)" (?createDirectX11Driver@video@irr@@YAPAVIVideoDriver@12@ABUSIrrlichtCreationParameters@2@PAVIFileSystem@io@2@PAUHWND__@@@Z)".
Some help would be appreciated. And if I somehow manage to compile this version, I may assume that if Irrlicht 1.9 ever gets released, it will look a lot like this, right? So I won't have to rewrite everything, I mean...