GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
al_build_camera_transform(3) al_build_camera_transform(3)

al_build_camera_transform - Allegro 5 API


#include <allegro5/allegro.h>
void al_build_camera_transform(ALLEGRO_TRANSFORM *trans,
   float position_x, float position_y, float position_z,
   float look_x, float look_y, float look_z,
   float up_x, float up_y, float up_z)

    

Builds a transformation which can be used to transform 3D coordinates in world space to camera space. This involves translation and a rotation. The function expects three coordinate triplets: The camera’s position, the position the camera is looking at and an up vector. The up vector does not need to be of unit length and also does not need to be perpendicular to the view direction - it can usually just be the world up direction (most commonly 0/1/0).

For example:


al_build_camera_transform(&t,
    1, 1, 1,
    5, 5, 5,
    0, 1, 0);

    

This create a transformation for a camera standing at 1/1/1 and looking towards 5/5/5.

Note: If the position and look parameters are identical, or if the up direction is parallel to the view direction, an identity matrix is created.

Another example which will simply re-create the identity matrix:


al_build_camera_transform(&t,
    0, 0, 0,
    0, 0, -1,
    0, 1, 0);

    

An example where the up vector will cause the camera to lean (roll) by 45 degrees:


al_build_camera_transform(&t,
    1, 1, 1,
    5, 5, 5,
    1, 1, 0);

    

Since 5.1.9

al_translate_transform_3d(3), al_rotate_transform_3d(3), al_scale_transform_3d(3), al_compose_transform(3), al_use_transform(3)
Allegro reference manual

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.