POV-Ray : Newsgroups : povray.binaries.images : Object Labels : Re: Object Labels Server Time
3 May 2024 01:34:47 EDT (-0400)
  Re: Object Labels  
From: Melody
Date: 19 Jan 2020 21:25:00
Message: <web.5e250eab28c763ef9da690110@news.povray.org>
"Melody" <nomail@nomail> wrote:
> Aspect = Width/Heigth > 1
Don't need Aspect, just adjusts for visible height angle.
Text centering failed for different FontSize - fixed.
Screen size same for a camang change. Now its done?
There's always something more?

/*
right=up.eye
eye=right.up
up=eye.right
*/
#declare campos = <0,80,-250>;
#declare cameye = vnormalize(<20,12,0>-campos);
#declare camup = <-1,1,0>;
#declare camright = vnormalize(vcross(camup,cameye));
#declare camup = vnormalize(vcross(cameye,camright));
#declare FontSize = 1;
#declare camang = 30;

camera {
  location campos
  right camright
  up camup *(image_height/image_width)
  direction cameye*(image_height/image_width)
  angle camang
}
#include "transforms.inc"
#macro label(Text,objv,r,col,top)
#local fl = 1/tan(radians(camang/2));
#local vl = vlength(objv-campos)/(fl*20);
#if (top)
#local pnt = camup*(r*1.05)+objv;
#else
#local pnt = -camup*(vl*FontSize+r)+objv;
#end
#local eye = vnormalize(pnt-campos);
object {
  text {
    ttf "Arial.ttf" Text 1 0
    texture {  pigment { rgb col }  finish { ambient 1 diffuse 0 } }
  }
  translate -x*((strlen(Text)/2) * FontSize / (2*FontSize))
  scale vl*FontSize
  Matrix_Trans(vnormalize(vcross(camup,eye)),camup,eye,pnt)
  no_shadow
}
#end
label("HELLO 162",<60,24,80>,48,<0.0196, 0.0196, 0.2156>,1)
label("Here are 492",y* 29.9,24*.8,<0.0196, 0.0196, 0.2156>,0)

well there are now much smaller remaining constants, 20 and 1.05.


Post a reply to this message


Attachments:
Download 'golfdimples10a.png' (108 KB)

Preview of image 'golfdimples10a.png'
golfdimples10a.png


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.