@billy777
To use a textured plain the plain and the image to texture onto it have to be the exact same dimensions in 3d and 2d, otherwise you will get scaled texels on the plain (plane). That means, the diemsions of the plain have to be exactly the same as the dimensions of the image.
In order for the plain with the image to appear as the correct size of the original image, you have to find the distance to what we'll call the drawing plane (zdist#). That is the distance away from the camera where 1 2d pixel equals 1 3d unit. This is based on screen resolution. Anyway, I'll just write the formula in the following example. If you are interested in the derivation, just ask. Once you position the plain at zdist#, because it is supposed to be in the foreground, you'll have to use DISABLE OBJECT ZDEPTH. Also, in order for the lighting to be consistant for the image, if you are using dbc 1.20, set the plain's emissive with: set object emissive obj,rgb(255,255,255) to make the image not influenced by the scene lighting and to retain it's original brightness.
I use a circle which is probably not the best example, you could try out the method with some decent images.
autocam off
sync on
sync rate 0
rem standard DBC FOV = 3.14/2.905 which is ~62 degrees
hsh=screen height()/2
zdist#=hsh/(tan(31))
`print zdist#
rem make a small circle
ink rgb(0,255,0),0
circle 32,32,32
rem create an image out of it
get image 1,0,0,65,65
sync
rem if I texture a plain that is the correct size, position it at
rem zdist# I shouldn't see additional blockiness
make object plain 2,65,65
texture object 2,1
position object 2,0,0,zdist#
set object emissive 2,rgb(255,255,255)
do
text 200,180,"image"
text 280,180,"textured plain"
paste image 1,200,209
sync
loop
Enjoy your day.