As for a demo others can try, the code can be grabbed from the Introduction to Models tutorial.
I've also tried to get normals/specular working with the LoadMesh command. For example:
#include "engine.h"
int main(int argc, char** argv)
{
Initialize();
//Create a graphics context
Graphics(800,600);
//Load SDK directory
RegisterAbstractPath("C:\\Leadwerks Engine SDK");
//Create a world
if (!CreateWorld()) {
MessageBoxA(0,"Failed to create world.","Error",0);
goto exitapp;
}
//Create a camera
TEntity cam=CreateCamera();
CameraClearColor(cam,Vec4(0,0,1,1));
PositionEntity(cam,Vec3(0,-0.5,-2));
RotateEntity(cam,Vec3(-20,0,0));
//Create a light
TLight light=CreateDirectionalLight();
RotateEntity(light,Vec3(45,45,0));
//Create a render buffer
TBuffer buffer=CreateBuffer(800,600,BUFFER_COLOR|BUFFER_DEPTH|BUFFER_NORMAL);
//Load a mesh
TModel mesh=LoadMesh("oildrum.gmf");
if (!mesh) {
MessageBoxA(0,"Error","Failed to load mesh.",0);
goto exitapp;
}
//Main loop
while(!KeyHit(KEY_ESCAPE)) {
//Update the world
UpdateWorld();
//Render the scene
SetBuffer(buffer);
RenderWorld();
//Render lighting
SetBuffer(BackBuffer());
RenderLights(buffer);
//Swap the front and back buffer
Flip();
}
exitapp:
return Terminate();
}
These sorts of shaders work fine with the model viewer and with all the games I play. Not sure how I would troubleshoot a config issue other than to update my video driver, which I'll try. I'm also going to load my compiled app onto a friend's computer later today and see if normals/specular works there.