- Enabled Groups to execute in Compositor. They were ignored still. Note; inside of groups nothing is cached, so a change of a group input will recalculate it fully. This is needed because groups are linked data (instances use same internal nodes). - Made Composit node "Viewer" display correctly input for images with 1/2/3/4 channels. - Added pass rendering, tested now with only regular Materials. For Material nodes this is quite more complex... since they cannot be easily separated in passes (each Material does a full shade) In this commit all pass render is disabled though, will continue work on that later. Sneak preview: http://www.blender.org/bf/rt.jpg (temporal image) - What did remain is the 'Normal' pass output. Normal works very nice for relighting effects. Use the "Normal Node" to define where more or less light should be. (Use "Value Map" node to tweak influence of the Normal node 'dot' output.) - EVIL bug fix: I've spend almost a day finding it... when combining AO and mirror render, the event queue was totally screwing up... two things not related at all! Found out error was in ray-mirror code, which was using partially uninitialized 'ShadeInput' data to pass on to render code. - Another fix; made sure that while thread render, the threads don't get events, only the main program will do. Might fix issues reported by people on linux/windows.
77 lines
2.0 KiB
C++
77 lines
2.0 KiB
C++
/*
|
|
* $Id$
|
|
*
|
|
* ***** 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
* All rights reserved.
|
|
*
|
|
* Contributor(s): 2004-2006 Blender Foundation, full recode
|
|
*
|
|
* ***** END GPL/BL DUAL LICENSE BLOCK *****
|
|
*/
|
|
|
|
#ifndef PIXELBLENDING_EXT_H
|
|
#define PIXELBLENDING_EXT_H
|
|
|
|
|
|
/**
|
|
* add 1 pixel to into filtered three lines
|
|
* (float vecs to float vec)
|
|
*/
|
|
void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w);
|
|
void add_filt_fmask_pixsize(unsigned int mask, float *in, float *rowbuf, int row_w, int pixsize);
|
|
|
|
/**
|
|
* Alpha-over blending for floats.
|
|
*/
|
|
void addAlphaOverFloat(float *dest, float *source);
|
|
|
|
/**
|
|
* Alpha-under blending for floats.
|
|
*/
|
|
void addAlphaUnderFloat(float *dest, float *source);
|
|
|
|
|
|
/**
|
|
* Same for floats
|
|
*/
|
|
void addalphaAddfacFloat(float *dest, float *source, char addfac);
|
|
|
|
/**
|
|
* dest = dest + source
|
|
*/
|
|
void addalphaAddFloat(float *dest, float *source);
|
|
|
|
/**
|
|
* Blend bron under doel, while doing gamma correction
|
|
*/
|
|
void addalphaUnderGammaFloat(float *doel, float *bron);
|
|
|
|
/**
|
|
* Copy the colour buffer output to R.rectot, to line y.
|
|
*/
|
|
void transferColourBufferToOutput(float *buf, int y);
|
|
/**
|
|
* using default transforms for brightness, gamma, hue, saturation etc.
|
|
*/
|
|
void std_floatcol_to_charcol(float *buf, char *target);
|
|
|
|
|
|
#endif /* PIXELBLENDING_EXT_H */
|
|
|