Rewrite gl_pointsize for directxd11

Hi everyone,

am rendering point clouds / particle systems successfully with PSIZE in opengl or direct3d… But switching player settings to directx11 on win10 (for HTC Vive game) the point size can no longer be changed. I have found a number of theories in google searches, but no code. How can I rewrite:

struct VertexOutput {

float4 pos : SV_POSITION;
float4 col : COLOR;
float pointSize : PSIZE;

VertexOutput vert(VertexInput v) {

VertexOutput o;
o.pos = mul(UNITY_MATRIX_MVP, v.v);
o.col = v.color;
o.pointSize = _PointSize;

return o;

in the shader code to draw/emit quads instead of points?

thank you for any help - please with code examples, since shaders are pretty tough to debug…

you have to use Geometry Shader to generate Quads on the GPU when using DirectX 11. the same way unity generate particles, so you can handle Point Clouds as millions of points. You will need a very good GPU; old ones do not handle well geometry shaders… so it seems the solution would be stick to DirectX 9.