|
|
On 17/02/2020 04:00, Mike Horvath wrote:
>
> If it helps, the latest version of this script is on GitHub.
>
> https://github.com/mjhorvath/POVRay-Updated-Screen-Inc
>
> See if that solves your problem and let me know.
Michael, thanks for your work.
I put the test image in p.b.i. and yes it's OK
Code used in my scene :
#include "screen_mjh.inc"
...
// set the sky vector
Set_Camera_Sky(y)
// set the type of projection (orthographic or perspective)
Set_Camera_Orthographic(false)
// set width in relation to height
Set_Camera_Aspect(image_width,image_height)
// set the location, look_at, and angle
Set_Camera(CamLoc, CamLookAt, CamAngle)
...
...
#declare pt1 = <6,4,6>;
drawPoint(pt1, rPoint, Red, true)
#declare ScreenXY1 = Get_Screen_XY(pt1);
#declare Text1 = text { ttf "crystal.ttf" "Pt1" 0.01 <0, 0, 0> pigment {
color Red } scale 0.03 }
Screen_Object(Text1, <ScreenXY1.x/image_width,
1-(ScreenXY1.y/image_height)> , 0.01, false, 1)
#declare pt2 = <-3,2,-5>;
drawPoint(pt2, rPoint, Cyan, true)
#declare ScreenXY2 = Get_Screen_XY(pt2);
#declare Text2 = text { ttf "crystal.ttf" "Pt2" 0.01 <0, 0, 0> pigment {
color Cyan } scale 0.03 }
Screen_Object(Text2, <ScreenXY2.x/image_width,
1-(ScreenXY2.y/image_height)> , 0.01, false, 1)
#declare pt3 = <4,6,-1>;
drawPoint(pt3, rPoint, Orange, true)
#declare ScreenXY3 = Get_Screen_XY(pt3);
#declare Text3 = text { ttf "crystal.ttf" "Pt3" 0.01 <0, 0, 0> pigment {
color Orange } scale 0.03 }
Screen_Object(Text3, <ScreenXY3.x/image_width,
1-(ScreenXY3.y/image_height)> , 0.01, false, 1)
However, some very small adjustments need to be made as you can see.
Get_Screen_XY() return coordinates in "image unit" and they must be
reduced to [0..1] and vertical position must also be changed with
1-value. Resulting in :
<ScreenXY/image_width, 1-(ScreenXY.y/image_height)>
for the *location* parameter of the *Screen_Object* macro.
Great !!
--
Kurtz le pirate
Compagnie de la Banquise
Post a reply to this message
|
|