00001 // KISS Renderer 00002 // Copyright (C) 2003 Ben Tayler (bjt@users.playstation2-linux.com) 00003 // 00004 // This library is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU Lesser General Public 00006 // License as published by the Free Software Foundation; either 00007 // version 2.1 of the License, or (at your option) any later version. 00008 // 00009 // This library is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 // Lesser General Public License for more details. 00013 // 00014 // You should have received a copy of the GNU Lesser General Public 00015 // License along with this library; if not, write to the Free Software 00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 00018 00019 // declare transformation struct 00020 typedef struct { 00021 float rotationx; 00022 float rotationy; 00023 float rotationz; 00024 float translationx; 00025 float translationy; 00026 float translationz; 00027 00028 } transinfo; 00029 00030 // declare monochrome light info struct 00031 typedef struct { 00032 Vec3 direction[3]; 00033 int intensity[3]; 00034 int ambient; 00035 00036 } lightinfo; 00037 00038 00039 // functions in render_matrix.cpp 00040 Mat44 Render_MakeObjectToWorld(transinfo transform); 00041 00042 Mat44 Render_MakeWorldToCamera(float camerapos); 00043 00044 Mat44 Render_MakeCameraToScreen(); 00045 00046 Mat44 Render_MakeLightMatrix(lightinfo lights, Mat44 objecttoworld); 00047 00050 00053 00056 00061 00067 00072