Well it's simply that the Vertex descriptor does not hold enough data to fill the input slot, input slotclass and the instancedatastep so i cannot fill them with enought data to allow for instancing to be used. Anyway even with enough of this we still need to call draw instanced wich would mean a diferent type of draw calls.
- cpp Code: Select all
desc.SemanticName = getSemanticName(VertexDescription->getAttribute(i)->getSemantic());
desc.SemanticIndex = getSemanticIndex(VertexDescription->getAttribute(i)->getSemantic());
desc.Format = getFormat(VertexDescription->getAttribute(i));
desc.InputSlot = 0;
desc.AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
desc.InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;//elements[i].PerInstance ? D3D11_INPUT_PER_INSTANCE_DATA : D3D11_INPUT_PER_VERTEX_DATA;
desc.InstanceDataStepRate = 0;//elements[i].InstanceStep;
Also i'm wondering about the desing is it that every driver had it's own vertex descriptor taylored to the device type and keep a list of the diferent types created?
cause i curently ducktaped the new FVF into the older fvf that was created for the driver and let's just say it's not working so i guess i have a couple of hours of code reading a head of me
Edit i somehwat got it to somewhat work? again?
anyway to cheer my self ill post a picture of the port to 1.8 wich had a little more sucess