2 * ***** BEGIN GPL LICENSE BLOCK *****
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software Foundation,
16 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
19 * All rights reserved.
21 * Contributor(s): 2004-2006, Blender Foundation, full recode
23 * ***** END GPL LICENSE BLOCK *****
26 /** \file blender/render/intern/include/pixelshading.h
29 * These functions determine what actual color a pixel will have.
32 #ifndef __PIXELSHADING_H__
33 #define __PIXELSHADING_H__
36 * Render the pixel at (x,y) for object ap. Apply the jitter mask.
37 * Output is given in float collector[4]. The type vector:
38 * t[0] - min. distance
39 * t[1] - face/halo index
41 * t[3] - type ZB_POLY or ZB_HALO
42 * t[4] - max. distance
43 * mask is pixel coverage in bits
44 * \return pointer to the object
46 int shadeHaloFloat(HaloRen *har,
49 float yn, short flarec);
52 * Render the sky at pixel (x, y).
54 void shadeSkyPixel(float collector[4], float fx, float fy, short thread);
55 void shadeSkyView(float col_r[3], const float rco[3], const float view[3], const float dxyview[2], short thread);
56 void shadeAtmPixel(struct SunSky *sunsky, float *collector, float fx, float fy, float distance);
57 void shadeSunView(float col_r[3], const float view[3]);
58 /* ------------------------------------------------------------------------- */