Quote: "It was working fine until the model reached about 12,500 polys - after that it loaded into DBP, but without any of the colours."
No doubt a strange issue. Assuming the 12,500 poly object is showing up as black; in which case the FVF diffuse is missing; using the Color Object Rgb(255,255,255) call should fill it with white.
If the colouring command fails, then the object either has a texture already specified in the .X file or it is missing normals, which [set object normals] will resolve.
Set Object Normals ObjectId
There are other ways to diagnose the problem; applying textures, converting to a mesh, analysing a memblock conversion.
If all fails, post up the code and the mesh so we can see the issue. Post up the mesh that works aswell so we can see the difference.
Quote: "Also, I've been trying to make a nice looking ocean for the aforementioned vessel to bob about upon, not looking at shaders because it needs to respond to the waves"
To make ocean effects you'd need methods for animating vertices of a flat mesh. As you can see from the following, the vertices need to wave like the line points.
Do
` Clear the screen so previous drawings are discarded
Cls
` Set default starting point for the line
x1=2
y1=100
` Set the size of the waves
WaveSize#=20
` Create a loop from one 2D point to the 100th 2D point
For i = 1 to 100
` Set the next 2D point to 2 pixels away from the last
x2=i*2
` Set the next 2D point to WaveSize# pixels higher or lower at the rate
` Use the timer to differetiate from last loop
` Use i * 2 to increase the frequency of waves
y2=100+WaveSize#*Sin(Timer()+i*2)
` Draw the result
Line x1, y1, x2, y2
` Set the next 2D starting point to the current end point
x1=x2
y1=y2
Next i
Loop
If you can understand this example I rush coded in a few minutes, you can expand it to look interesting.
The vertices on your 3D ocean can move just like that line. Apply the principle to the tile height of a Matrix, or the vertex height of VertexData or an objects memblock. You can always post up any more questions as you work.