mirror of
				https://bitbucket.org/mfeemster/fractorium.git
				synced 2025-11-03 17:50:27 -05:00 
			
		
		
		
	--Add support for Exr files which use 32-bit floats for each RGBA channel. Seems to come out too washed out. --Allow for clearing an individual color curve. --Allow for saving multiple image types in EmberRender and EmberAnimate. All writes are threaded. --Remove --bpc command line argument. Add format png16 as a replacement. --Remove --enable_jpg_comments and --enable_png_comments command line arguments, and replace them with --enable_comments which applies to jpg, png and exr. --Add menu items to variations and affine spinners which allow for easy entry of specific numeric values like pi. --Make final render dialog be wider rather than so tall. Bug fixes: --Fix some OpenCL compile errors on Mac. --Remove ability to save bitmap files on all platforms but Windows. Code changes: --New dependency on OpenEXR. --Allow Curves class to interact with objects of a different template type. --Make m_Curves member of Ember always use float as template type. --Set the length of the curves array to always be 2^17 which should offer enough precision with new 32-bit float pixel types. --Set pixel types to always be 32-bit float. This results in a major reduction of code in the final accumulation part of Renderer.h/cpp. --Remove corresponding code from RendererCL and FinalAccumOpenCLKernelCreator. --Remove Transparency, NumChannels and BytesPerPixel setters from Renderer.h/cpp. --Add new global functions to format final image buffers and place all alpha calculation and scaling code in them. --Blending is no longer needed in OpenGLWidget because of the new pixel type. --Make new class, AffineDoubleSpinBox. --Attempt to make file save dialog code work the same on all OSes. --Remove some unused functions.
		
			
				
	
	
		
			139 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef FRACTORIUM_PCH_H
 | 
						|
#define FRACTORIUM_PCH_H//GCC doesn't like #pragma once
 | 
						|
 | 
						|
#define XFORM_COLOR_COUNT 14
 | 
						|
 | 
						|
#ifdef _WIN32
 | 
						|
	#pragma warning(disable : 4251; disable : 4661; disable : 4100)
 | 
						|
#endif
 | 
						|
 | 
						|
//Has to come first on non-Windows platforms due to some weird naming collisions on *nix.
 | 
						|
#ifndef _WIN32
 | 
						|
	#include <QtWidgets>
 | 
						|
#endif
 | 
						|
 | 
						|
#include "Renderer.h"
 | 
						|
#include "RendererCL.h"
 | 
						|
#include "VariationList.h"
 | 
						|
#include "OpenCLWrapper.h"
 | 
						|
#include "XmlToEmber.h"
 | 
						|
#include "EmberToXml.h"
 | 
						|
#include "SheepTools.h"
 | 
						|
#include "JpegUtils.h"
 | 
						|
#include "EmberCommon.h"
 | 
						|
 | 
						|
#ifdef _WIN32
 | 
						|
	#include <QtWidgets>
 | 
						|
#endif
 | 
						|
 | 
						|
#include <math.h>
 | 
						|
#include <deque>
 | 
						|
#include "qfunctions.h"
 | 
						|
 | 
						|
#include <QApplication>
 | 
						|
#include <QBrush>
 | 
						|
#include <QCheckBox>
 | 
						|
#include <QClipboard>
 | 
						|
#include <QColor>
 | 
						|
#include <QColorDialog>
 | 
						|
#include <QComboBox>
 | 
						|
#include <QConicalGradient>
 | 
						|
#include <QDebug>
 | 
						|
#include <QDesktopWidget>
 | 
						|
#include <QDial>
 | 
						|
#include <QDoubleSpinBox>
 | 
						|
#include <QEvent>
 | 
						|
#include <QFile>
 | 
						|
#include <QFileInfo>
 | 
						|
#include <QFont>
 | 
						|
#include <QFontDialog>
 | 
						|
#include <QFontMetrics>
 | 
						|
#include <QFrame>
 | 
						|
#include <QFuture>
 | 
						|
#include <QGraphicsView>
 | 
						|
#include <QGridLayout>
 | 
						|
#include <QGroupBox>
 | 
						|
#include <QHash>
 | 
						|
#include <QHBoxLayout>
 | 
						|
#include <QIcon>
 | 
						|
#include <QImage>
 | 
						|
#include <QImageReader>
 | 
						|
#include <QItemDelegate>
 | 
						|
#include <QKeyEvent>
 | 
						|
#include <QLabel>
 | 
						|
#include <QLayout>
 | 
						|
#include <QLinearGradient>
 | 
						|
#include <QLineEdit>
 | 
						|
#include <QMap>
 | 
						|
#include <QMenu>
 | 
						|
#include <QMessageBox>
 | 
						|
#include <QMimeData>
 | 
						|
#include <QModelIndex>
 | 
						|
#include <QMouseEvent>
 | 
						|
#include <qopenglfunctions_2_0.h>
 | 
						|
#include <QOpenGLWidget>
 | 
						|
#include <QPainter>
 | 
						|
#include <QPainterPath>
 | 
						|
#include <QPaintEvent>
 | 
						|
#include <QPixmap>
 | 
						|
#include <QPoint>
 | 
						|
#include <QPolygon>
 | 
						|
#include <QPushButton>
 | 
						|
#include <QRect>
 | 
						|
#include <QResizeEvent>
 | 
						|
#include <QSettings>
 | 
						|
#include <QSignalMapper>
 | 
						|
#include <QSize>
 | 
						|
#include <QSizePolicy>
 | 
						|
#include <QSpinBox>
 | 
						|
#include <QStandardPaths>
 | 
						|
#include <QtConcurrentRun>
 | 
						|
#include <QtCore/qglobal.h>
 | 
						|
#include <QtCore/QMultiHash>
 | 
						|
#include <QtCore/QPair>
 | 
						|
#include <QtCore/QSharedData>
 | 
						|
#include <QtCore/QSize>
 | 
						|
#include <QtCore/QStringList>
 | 
						|
#include <QtCore/QVariant>
 | 
						|
#include <QtCore/QVector>
 | 
						|
#include <QTextEdit>
 | 
						|
#include <QTextStream>
 | 
						|
#include <QtGui/QFont>
 | 
						|
#include <QtGui/QPalette>
 | 
						|
#include <QtGui/QSyntaxHighlighter>
 | 
						|
#include <QThread>
 | 
						|
#include <QTime>
 | 
						|
#include <QTimer>
 | 
						|
#include <QToolBar>
 | 
						|
#include <QToolTip>
 | 
						|
#include <QTreeWidget>
 | 
						|
#include <QtWidgets/QMainWindow>
 | 
						|
#include <QVarLengthArray>
 | 
						|
#include <QVBoxLayout>
 | 
						|
#include <QVector>
 | 
						|
#include <QWheelEvent>
 | 
						|
#include <QWidget>
 | 
						|
#include <QWidgetAction>
 | 
						|
 | 
						|
//#define GLM_FORCE_RADIANS 1
 | 
						|
//#define GLM_ENABLE_EXPERIMENTAL 1
 | 
						|
 | 
						|
//#ifndef __APPLE__
 | 
						|
//	#define GLM_FORCE_INLINE 1
 | 
						|
//#endif
 | 
						|
//
 | 
						|
//#include "glm/glm.hpp"
 | 
						|
//#include "glm/gtc/matrix_transform.hpp"
 | 
						|
//#include "glm/gtc/type_ptr.hpp"
 | 
						|
 | 
						|
#ifndef _WIN32
 | 
						|
	#undef Bool
 | 
						|
#endif
 | 
						|
 | 
						|
using namespace std;
 | 
						|
using namespace EmberNs;
 | 
						|
using namespace EmberCLns;
 | 
						|
using namespace EmberCommon;
 | 
						|
 | 
						|
#endif
 |