/* * ***** BEGIN GPL LICENSE BLOCK ***** * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * The Original Code is Copyright (C) 2005 Blender Foundation. * All rights reserved. * * The Original Code is: all of this file. * * Contributor(s): Brecht Van Lommel, Clément Foucault. * * ***** END GPL LICENSE BLOCK ***** */ /** \file gpu_lamp_private.h * \ingroup gpu */ #ifndef __GPU_LAMP_PRIVATE_H__ #define __GPU_LAMP_PRIVATE_H__ #include "BLI_sys_types.h" /* for bool */ struct GPULamp { Scene *scene; Object *ob; Object *par; Lamp *la; struct RenderEngineType *re; /* Old Viewport (pre-2.8) */ int type, mode, lay, hide; float dynenergy, dyncol[3]; float energy, col[3]; float co[3], vec[3]; float dynco[3], dynvec[3]; float obmat[4][4]; float imat[4][4]; float dynimat[4][4]; float spotsi, spotbl, k; float spotvec[2]; float dyndist, dynatt1, dynatt2; float dist, att1, att2; float coeff_const, coeff_lin, coeff_quad; float shadow_color[3]; float bias, d, clipend; int size; int falloff_type; struct CurveMapping *curfalloff; float winmat[4][4]; float viewmat[4][4]; float persmat[4][4]; float dynpersmat[4][4]; GPUFrameBuffer *fb; GPUFrameBuffer *blurfb; GPUTexture *tex; GPUTexture *depthtex; GPUTexture *blurtex; /* New viewport */ struct LampEngineData data; }; #endif /* __GPU_LAMP_PRIVATE_H__ */