mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-01-21 21:20:07 -05:00
de613404de
--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
|