Hi,
If you want the points to be scaled by distance then try using a billboarded quad instead of On-The-Fly objects. Here is some code:
Code:
quad = viz.add(viz.TEXQUAD)
quad.billboard()
quad.scale(0.2,0.2,0.2) #Need to scale it only once
quad.translate(x,y,z) #Position the quad
Now perspective rendering will work correctly on the points
If you plan on using a lot of points then this might not be the most effiecient solution. If this is the case, then there is an alternative solution which requires a plugin. However, try this method first and let me know if it is sufficient.