1. Point sprites are just a bunch of RenderStates that you need to set.
That all should work, I just pulled it out of my head =).Code:Device.SetRenderState(D3DRS_ZWRITEENABLE, FALSE) Device.SetRenderState(D3DRS_POINTSPRITE_ENABLE, TRUE) Device.SetRenderState(D3DRS_POINTSCALE_ENABLE, TRUE) Device.SetRenderSrare(D3DRS_POINTSIZE, FtoDW(1.0)) Device.SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE) Device.SetTexture(0, WhateverTexture) '//Render using DrawPrimitive, with a primitive type of '// D3DPT_POINTLIST Device.SetStreamSource(0, myVB, Len(VertexSize)) Device.SetVertexShader(myFVF) Device.DrawPrimitive(D3DPT_POINTLIST, 0, 650) Device.SetRenderState(D3DRS_ZWRITEENABLE, TRUE) Device.SetRenderState(D3DRS_POINTSPRITE_ENABLE, FALSE) Device.SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE)
2. I think you need to use D3DCREATE_PUREDEVICE, but im not sure (my card doesnt support it).
3. You've got me. Again, my card supports jack...
4. Its a CAPS check. Use Device.GetDeviceCaps(DevCaps), and then look in the DevCaps.PixelShaderVersion. Check the SDK documentation for more info.
Z.




Reply With Quote