Ben Supnik Wrote:How do you handle parts like 122c01, where the the plate is user-colored, the wheels are red, and the axle is..metalic I guess? In BrickSmith the color is tagged as a mix of red, metalic, and user-set. If you pass immediate mode color I would think you'd need (at a minimum) 3 draw calls and some side data to tell you which part of the VBO gets which color.
That's pretty much how I do it using index offsets. The possible multiple draw calls aren't that bad because 99% of parts are single color (16) anyway, but is nice to support multicolored parts using a single vbo set without having to add huge amounts of (duplicate) color information to them.
You must also take into account that I wrote the first version of my render approach for LD4DStudio, which was in a time graphic cards didn't have enough memory to store the whole LDraw library ten times over .