mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-07 03:22:27 +02:00
Scribe now outputs .h and .cpp. Need to change how shader source is referenced in C++ code
This commit is contained in:
parent
cdb94d0832
commit
3911ce59cc
36 changed files with 433 additions and 330 deletions
|
@ -39,24 +39,28 @@ function(AUTOSCRIBE_SHADER SHADER_FILE)
|
|||
get_filename_component(SHADER_TARGET ${SHADER_FILE} NAME_WE)
|
||||
get_filename_component(SHADER_EXT ${SHADER_FILE} EXT)
|
||||
if(SHADER_EXT STREQUAL .slv)
|
||||
set(SHADER_TARGET ${SHADER_TARGET}_vert.cpp)
|
||||
set(SHADER_TYPE vert)
|
||||
elseif(${SHADER_EXT} STREQUAL .slf)
|
||||
set(SHADER_TARGET ${SHADER_TARGET}_frag.cpp)
|
||||
set(SHADER_TYPE frag)
|
||||
elseif(${SHADER_EXT} STREQUAL .slg)
|
||||
set(SHADER_TARGET ${SHADER_TARGET}_geom.cpp)
|
||||
set(SHADER_TYPE geom)
|
||||
endif()
|
||||
set(SHADER_TARGET ${SHADER_TARGET}_${SHADER_TYPE})
|
||||
|
||||
set(SHADER_TARGET "${SHADERS_DIR}/${SHADER_TARGET}")
|
||||
set(SHADER_TARGET_HEADER ${SHADER_TARGET}.h)
|
||||
set(SHADER_TARGET_SOURCE ${SHADER_TARGET}.cpp)
|
||||
|
||||
# Target dependant Custom rule on the SHADER_FILE
|
||||
if (APPLE)
|
||||
set(GLPROFILE MAC_GL)
|
||||
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
set(SCRIBE_ARGS -c++ -${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_HEADER} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe)
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_SOURCE} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
elseif (ANDROID)
|
||||
set(GLPROFILE LINUX_GL)
|
||||
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
set(SCRIBE_ARGS -c++ -${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
|
||||
# for an android build, we can't use the scribe that cmake would normally produce as a target,
|
||||
# since it's unrunnable by the cross-compiling build machine
|
||||
|
@ -72,23 +76,25 @@ function(AUTOSCRIBE_SHADER SHADER_FILE)
|
|||
")
|
||||
endif ()
|
||||
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND ${NATIVE_SCRIBE} ${SCRIBE_ARGS} DEPENDS ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_HEADER} COMMAND ${NATIVE_SCRIBE} ${SCRIBE_ARGS})
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_SOURCE} COMMAND ${NATIVE_SCRIBE} ${SCRIBE_ARGS} DEPENDS ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
elseif (UNIX)
|
||||
set(GLPROFILE LINUX_GL)
|
||||
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
set(SCRIBE_ARGS -c++ -${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_HEADER} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe)
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_SOURCE} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
else ()
|
||||
set(GLPROFILE PC_GL)
|
||||
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
set(SCRIBE_ARGS -c++ -${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_HEADER} ${SHADER_TARGET_SOURCE} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
endif()
|
||||
|
||||
#output the generated file name
|
||||
set(AUTOSCRIBE_SHADER_RETURN ${SHADER_TARGET} PARENT_SCOPE)
|
||||
set(AUTOSCRIBE_SHADER_RETURN ${SHADER_TARGET_HEADER} ${SHADER_TARGET_SOURCE} PARENT_SCOPE)
|
||||
|
||||
file(GLOB INCLUDE_FILES ${SHADER_TARGET})
|
||||
file(GLOB INCLUDE_FILES ${SHADER_TARGET_HEADER})
|
||||
|
||||
endfunction()
|
||||
|
||||
|
@ -134,6 +140,9 @@ macro(AUTOSCRIBE_SHADER_LIB)
|
|||
list(APPEND AUTOSCRIBE_SHADER_LIB_SRC ${AUTOSCRIBE_SHADER_SRC})
|
||||
|
||||
# Link library shaders, if they exist
|
||||
#include_directories("${SHADERS_DIR}")
|
||||
include_directories("${SHADERS_DIR}")
|
||||
|
||||
# Add search directory to find gpu/Shader.h
|
||||
include_directories("${HIFI_LIBRARY_DIR}/gpu/src")
|
||||
|
||||
endmacro()
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
#include "../Logging.h"
|
||||
#include "../CompositorHelper.h"
|
||||
|
||||
INCLUDE_SHADER(hmd_ui_vert)
|
||||
INCLUDE_SHADER(hmd_ui_frag)
|
||||
#include "hmd_ui_vert.h"
|
||||
#include "hmd_ui_frag.h"
|
||||
|
||||
static const QString MONO_PREVIEW = "Mono Preview";
|
||||
static const QString DISABLE_PREVIEW = "Disable Preview";
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
|
||||
#include <GeometryCache.h>
|
||||
|
||||
INCLUDE_SHADER(textured_particle_vert)
|
||||
INCLUDE_SHADER(textured_particle_frag)
|
||||
#include "textured_particle_vert.h"
|
||||
#include "textured_particle_frag.h"
|
||||
|
||||
using namespace render;
|
||||
using namespace render::entities;
|
||||
|
|
|
@ -23,11 +23,11 @@
|
|||
# include <FadeEffect.h>
|
||||
#endif
|
||||
|
||||
INCLUDE_SHADER(paintStroke_vert)
|
||||
INCLUDE_SHADER(paintStroke_frag)
|
||||
#include "paintStroke_vert.h"
|
||||
#include "paintStroke_frag.h"
|
||||
|
||||
INCLUDE_SHADER(paintStroke_fade_vert)
|
||||
INCLUDE_SHADER(paintStroke_fade_frag)
|
||||
#include "paintStroke_fade_vert.h"
|
||||
#include "paintStroke_fade_frag.h"
|
||||
|
||||
using namespace render;
|
||||
using namespace render::entities;
|
||||
|
|
|
@ -28,10 +28,10 @@
|
|||
|
||||
#include "EntityTreeRenderer.h"
|
||||
|
||||
INCLUDE_SHADER(polyvox_vert)
|
||||
INCLUDE_SHADER(polyvox_frag)
|
||||
INCLUDE_SHADER(polyvox_fade_vert)
|
||||
INCLUDE_SHADER(polyvox_fade_frag)
|
||||
#include "polyvox_vert.h"
|
||||
#include "polyvox_frag.h"
|
||||
#include "polyvox_fade_vert.h"
|
||||
#include "polyvox_fade_frag.h"
|
||||
|
||||
#ifdef POLYVOX_ENTITY_USE_FADE_EFFECT
|
||||
# include <FadeEffect.h>
|
||||
|
@ -72,10 +72,10 @@ INCLUDE_SHADER(polyvox_fade_frag)
|
|||
|
||||
#include "EntityTreeRenderer.h"
|
||||
|
||||
INCLUDE_SHADER(polyvox_vert)
|
||||
INCLUDE_SHADER(polyvox_frag)
|
||||
INCLUDE_SHADER(polyvox_fade_vert)
|
||||
INCLUDE_SHADER(polyvox_fade_frag)
|
||||
#include "polyvox_vert.h"
|
||||
#include "polyvox_frag.h"
|
||||
#include "polyvox_fade_vert.h"
|
||||
#include "polyvox_fade_frag.h"
|
||||
|
||||
#include "RenderablePolyVoxEntityItem.h"
|
||||
#include "EntityEditPacketSender.h"
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
#include <GeometryCache.h>
|
||||
#include <PerfStat.h>
|
||||
|
||||
INCLUDE_SHADER(simple_vert)
|
||||
INCLUDE_SHADER(simple_frag)
|
||||
#include "simple_vert.h"
|
||||
#include "simple_frag.h"
|
||||
|
||||
//#define SHAPE_ENTITY_USE_FADE_EFFECT
|
||||
#ifdef SHAPE_ENTITY_USE_FADE_EFFECT
|
||||
|
|
|
@ -17,8 +17,6 @@
|
|||
#include <set>
|
||||
|
||||
#include <QUrl>
|
||||
|
||||
#define INCLUDE_SHADER(source) extern const char source[];
|
||||
|
||||
namespace gpu {
|
||||
|
||||
|
|
|
@ -12,21 +12,21 @@
|
|||
//
|
||||
#include "StandardShaderLib.h"
|
||||
|
||||
INCLUDE_SHADER(DrawUnitQuadTexcoord_vert)
|
||||
INCLUDE_SHADER(DrawTransformUnitQuad_vert)
|
||||
INCLUDE_SHADER(DrawTexcoordRectTransformUnitQuad_vert)
|
||||
INCLUDE_SHADER(DrawViewportQuadTransformTexcoord_vert)
|
||||
INCLUDE_SHADER(DrawVertexPosition_vert)
|
||||
INCLUDE_SHADER(DrawTransformVertexPosition_vert)
|
||||
#include "DrawUnitQuadTexcoord_vert.h"
|
||||
#include "DrawTransformUnitQuad_vert.h"
|
||||
#include "DrawTexcoordRectTransformUnitQuad_vert.h"
|
||||
#include "DrawViewportQuadTransformTexcoord_vert.h"
|
||||
#include "DrawVertexPosition_vert.h"
|
||||
#include "DrawTransformVertexPosition_vert.h"
|
||||
|
||||
const char DrawNada_frag[] = "void main(void) {}"; // DrawNada is really simple...
|
||||
|
||||
INCLUDE_SHADER(DrawWhite_frag)
|
||||
INCLUDE_SHADER(DrawColor_frag)
|
||||
INCLUDE_SHADER(DrawTexture_frag)
|
||||
INCLUDE_SHADER(DrawTextureMirroredX_frag)
|
||||
INCLUDE_SHADER(DrawTextureOpaque_frag)
|
||||
INCLUDE_SHADER(DrawColoredTexture_frag)
|
||||
#include "DrawWhite_frag.h"
|
||||
#include "DrawColor_frag.h"
|
||||
#include "DrawTexture_frag.h"
|
||||
#include "DrawTextureMirroredX_frag.h"
|
||||
#include "DrawTextureOpaque_frag.h"
|
||||
#include "DrawColoredTexture_frag.h"
|
||||
|
||||
using namespace gpu;
|
||||
|
||||
|
@ -73,42 +73,42 @@ ShaderPointer StandardShaderLib::getProgram(GetShader getVS, GetShader getPS) {
|
|||
|
||||
ShaderPointer StandardShaderLib::getDrawUnitQuadTexcoordVS() {
|
||||
if (!_drawUnitQuadTexcoordVS) {
|
||||
_drawUnitQuadTexcoordVS = gpu::Shader::createVertex(std::string(DrawUnitQuadTexcoord_vert));
|
||||
_drawUnitQuadTexcoordVS = DrawUnitQuadTexcoord_vert::getShader();
|
||||
}
|
||||
return _drawUnitQuadTexcoordVS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawTransformUnitQuadVS() {
|
||||
if (!_drawTransformUnitQuadVS) {
|
||||
_drawTransformUnitQuadVS = gpu::Shader::createVertex(std::string(DrawTransformUnitQuad_vert));
|
||||
_drawTransformUnitQuadVS = DrawTransformUnitQuad_vert::getShader();
|
||||
}
|
||||
return _drawTransformUnitQuadVS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawTexcoordRectTransformUnitQuadVS() {
|
||||
if (!_drawTexcoordRectTransformUnitQuadVS) {
|
||||
_drawTexcoordRectTransformUnitQuadVS = gpu::Shader::createVertex(std::string(DrawTexcoordRectTransformUnitQuad_vert));
|
||||
_drawTexcoordRectTransformUnitQuadVS = DrawTexcoordRectTransformUnitQuad_vert::getShader();
|
||||
}
|
||||
return _drawTexcoordRectTransformUnitQuadVS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawViewportQuadTransformTexcoordVS() {
|
||||
if (!_drawViewportQuadTransformTexcoordVS) {
|
||||
_drawViewportQuadTransformTexcoordVS = gpu::Shader::createVertex(std::string(DrawViewportQuadTransformTexcoord_vert));
|
||||
_drawViewportQuadTransformTexcoordVS = DrawViewportQuadTransformTexcoord_vert::getShader();
|
||||
}
|
||||
return _drawViewportQuadTransformTexcoordVS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawVertexPositionVS() {
|
||||
if (!_drawVertexPositionVS) {
|
||||
_drawVertexPositionVS = gpu::Shader::createVertex(std::string(DrawVertexPosition_vert));
|
||||
_drawVertexPositionVS = DrawVertexPosition_vert::getShader();
|
||||
}
|
||||
return _drawVertexPositionVS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawTransformVertexPositionVS() {
|
||||
if (!_drawTransformVertexPositionVS) {
|
||||
_drawTransformVertexPositionVS = gpu::Shader::createVertex(std::string(DrawTransformVertexPosition_vert));
|
||||
_drawTransformVertexPositionVS = DrawTransformVertexPosition_vert::getShader();
|
||||
}
|
||||
return _drawTransformVertexPositionVS;
|
||||
}
|
||||
|
@ -122,42 +122,42 @@ ShaderPointer StandardShaderLib::getDrawNadaPS() {
|
|||
|
||||
ShaderPointer StandardShaderLib::getDrawWhitePS() {
|
||||
if (!_drawWhitePS) {
|
||||
_drawWhitePS = gpu::Shader::createPixel(std::string(DrawWhite_frag));
|
||||
_drawWhitePS = DrawWhite_frag::getShader();
|
||||
}
|
||||
return _drawWhitePS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawColorPS() {
|
||||
if (!_drawColorPS) {
|
||||
_drawColorPS = gpu::Shader::createPixel(std::string(DrawColor_frag));
|
||||
_drawColorPS = DrawColor_frag::getShader();
|
||||
}
|
||||
return _drawColorPS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawTexturePS() {
|
||||
if (!_drawTexturePS) {
|
||||
_drawTexturePS = gpu::Shader::createPixel(std::string(DrawTexture_frag));
|
||||
_drawTexturePS = DrawTexture_frag::getShader();
|
||||
}
|
||||
return _drawTexturePS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawTextureMirroredXPS() {
|
||||
if (!_drawTextureMirroredXPS) {
|
||||
_drawTextureMirroredXPS = gpu::Shader::createPixel(std::string(DrawTextureMirroredX_frag));
|
||||
_drawTextureMirroredXPS = DrawTextureMirroredX_frag::getShader();
|
||||
}
|
||||
return _drawTextureMirroredXPS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawTextureOpaquePS() {
|
||||
if (!_drawTextureOpaquePS) {
|
||||
_drawTextureOpaquePS = gpu::Shader::createPixel(std::string(DrawTextureOpaque_frag));
|
||||
_drawTextureOpaquePS = DrawTextureOpaque_frag::getShader();
|
||||
}
|
||||
return _drawTextureOpaquePS;
|
||||
}
|
||||
|
||||
ShaderPointer StandardShaderLib::getDrawColoredTexturePS() {
|
||||
if (!_drawColoredTexturePS) {
|
||||
_drawColoredTexturePS = gpu::Shader::createPixel(std::string(DrawColoredTexture_frag));
|
||||
_drawColoredTexturePS = DrawColoredTexture_frag::getShader();
|
||||
}
|
||||
return _drawColoredTexturePS;
|
||||
}
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
#include <gpu/Context.h>
|
||||
#include <ViewFrustum.h>
|
||||
|
||||
INCLUDE_SHADER(skybox_vert)
|
||||
INCLUDE_SHADER(skybox_frag)
|
||||
#include "skybox_vert.h"
|
||||
#include "skybox_frag.h"
|
||||
|
||||
using namespace model;
|
||||
|
||||
|
@ -85,8 +85,8 @@ void Skybox::render(gpu::Batch& batch, const ViewFrustum& viewFrustum, const Sky
|
|||
static std::once_flag once;
|
||||
std::call_once(once, [&] {
|
||||
{
|
||||
auto skyVS = gpu::Shader::createVertex(std::string(skybox_vert));
|
||||
auto skyFS = gpu::Shader::createPixel(std::string(skybox_frag));
|
||||
auto skyVS = skybox_vert::getShader();
|
||||
auto skyFS = skybox_frag::getShader();
|
||||
auto skyShader = gpu::Shader::createProgram(skyVS, skyFS);
|
||||
|
||||
gpu::Shader::BindingSet bindings;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include <NumericalConstants.h>
|
||||
#include <GLMHelpers.h>
|
||||
|
||||
INCLUDE_SHADER(ProceduralCommon_frag)
|
||||
#include "ProceduralCommon_frag.h"
|
||||
|
||||
#include "Logging.h"
|
||||
|
||||
|
@ -241,7 +241,7 @@ void Procedural::prepare(gpu::Batch& batch, const glm::vec3& position, const glm
|
|||
std::string fragmentShaderSource = _fragmentSource;
|
||||
size_t replaceIndex = fragmentShaderSource.find(PROCEDURAL_COMMON_BLOCK);
|
||||
if (replaceIndex != std::string::npos) {
|
||||
fragmentShaderSource.replace(replaceIndex, PROCEDURAL_COMMON_BLOCK.size(), ProceduralCommon_frag);
|
||||
fragmentShaderSource.replace(replaceIndex, PROCEDURAL_COMMON_BLOCK.size(), ProceduralCommon_frag.h";
|
||||
}
|
||||
|
||||
replaceIndex = fragmentShaderSource.find(PROCEDURAL_VERSION);
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
#include <gpu/Context.h>
|
||||
#include <ViewFrustum.h>
|
||||
|
||||
INCLUDE_SHADER(skybox_vert)
|
||||
INCLUDE_SHADER(skybox_frag)
|
||||
#include "skybox_vert.h"
|
||||
#include "skybox_frag.h"
|
||||
|
||||
ProceduralSkybox::ProceduralSkybox() : model::Skybox() {
|
||||
_procedural._vertexSource = skybox_vert;
|
||||
|
|
|
@ -28,11 +28,11 @@
|
|||
#include "DependencyManager.h"
|
||||
#include "ViewFrustum.h"
|
||||
|
||||
INCLUDE_SHADER(ssao_makePyramid_frag)
|
||||
INCLUDE_SHADER(ssao_makeOcclusion_frag)
|
||||
INCLUDE_SHADER(ssao_debugOcclusion_frag)
|
||||
INCLUDE_SHADER(ssao_makeHorizontalBlur_frag)
|
||||
INCLUDE_SHADER(ssao_makeVerticalBlur_frag)
|
||||
#include "ssao_makePyramid_frag.h"
|
||||
#include "ssao_makeOcclusion_frag.h"
|
||||
#include "ssao_debugOcclusion_frag.h"
|
||||
#include "ssao_makeHorizontalBlur_frag.h"
|
||||
#include "ssao_makeVerticalBlur_frag.h"
|
||||
|
||||
|
||||
AmbientOcclusionFramebuffer::AmbientOcclusionFramebuffer() {
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
|
||||
#include "AnimDebugDraw.h"
|
||||
|
||||
INCLUDE_SHADER(animdebugdraw_vert)
|
||||
INCLUDE_SHADER(animdebugdraw_frag)
|
||||
#include "animdebugdraw_vert.h"
|
||||
#include "animdebugdraw_frag.h"
|
||||
|
||||
class AnimDebugDrawData {
|
||||
public:
|
||||
|
|
|
@ -23,9 +23,9 @@
|
|||
#include "ViewFrustum.h"
|
||||
#include "GeometryCache.h"
|
||||
|
||||
INCLUDE_SHADER(fxaa_vert)
|
||||
INCLUDE_SHADER(fxaa_frag)
|
||||
INCLUDE_SHADER(fxaa_blend_frag)
|
||||
#include "fxaa_vert.h"
|
||||
#include "fxaa_frag.h"
|
||||
#include "fxaa_blend_frag.h"
|
||||
|
||||
|
||||
Antialiasing::Antialiasing() {
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
#include <render/BlurTask.h>
|
||||
#include <render/ResampleTask.h>
|
||||
|
||||
INCLUDE_SHADER(BloomThreshold_frag)
|
||||
INCLUDE_SHADER(BloomApply_frag)
|
||||
#include "BloomThreshold_frag.h"
|
||||
#include "BloomApply_frag.h"
|
||||
|
||||
#define BLOOM_BLUR_LEVEL_COUNT 3
|
||||
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
#include "TextureCache.h"
|
||||
#include "DeferredLightingEffect.h"
|
||||
|
||||
INCLUDE_SHADER(debug_deferred_buffer_vert)
|
||||
INCLUDE_SHADER(debug_deferred_buffer_frag)
|
||||
#include "debug_deferred_buffer_vert.h"
|
||||
#include "debug_deferred_buffer_frag.h"
|
||||
|
||||
using namespace render;
|
||||
|
||||
|
|
|
@ -24,18 +24,18 @@
|
|||
#include "TextureCache.h"
|
||||
#include "FramebufferCache.h"
|
||||
|
||||
INCLUDE_SHADER(deferred_light_vert)
|
||||
INCLUDE_SHADER(deferred_light_point_vert)
|
||||
INCLUDE_SHADER(deferred_light_spot_vert)
|
||||
#include "deferred_light_vert.h"
|
||||
#include "deferred_light_point_vert.h"
|
||||
#include "deferred_light_spot_vert.h"
|
||||
|
||||
INCLUDE_SHADER(directional_ambient_light_frag)
|
||||
INCLUDE_SHADER(directional_skybox_light_frag)
|
||||
#include "directional_ambient_light_frag.h"
|
||||
#include "directional_skybox_light_frag.h"
|
||||
|
||||
INCLUDE_SHADER(directional_ambient_light_shadow_frag)
|
||||
INCLUDE_SHADER(directional_skybox_light_shadow_frag)
|
||||
#include "directional_ambient_light_shadow_frag.h"
|
||||
#include "directional_skybox_light_shadow_frag.h"
|
||||
|
||||
INCLUDE_SHADER(local_lights_shading_frag)
|
||||
INCLUDE_SHADER(local_lights_drawOutline_frag)
|
||||
#include "local_lights_shading_frag.h"
|
||||
#include "local_lights_drawOutline_frag.h"
|
||||
|
||||
|
||||
using namespace render;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "HazeStage.h"
|
||||
#include "LightStage.h"
|
||||
|
||||
INCLUDE_SHADER(Haze_frag)
|
||||
#include "Haze_frag.h"
|
||||
|
||||
void HazeConfig::setHazeColor(const glm::vec3 value) {
|
||||
hazeColor = value;
|
||||
|
|
|
@ -34,21 +34,21 @@
|
|||
#include "model/TextureMap.h"
|
||||
#include "render/Args.h"
|
||||
|
||||
INCLUDE_SHADER(standardTransformPNTC_vert)
|
||||
INCLUDE_SHADER(standardDrawTexture_frag)
|
||||
#include "standardTransformPNTC_vert.h"
|
||||
#include "standardDrawTexture_frag.h"
|
||||
|
||||
INCLUDE_SHADER(simple_vert)
|
||||
INCLUDE_SHADER(simple_textured_frag)
|
||||
INCLUDE_SHADER(simple_textured_unlit_frag)
|
||||
INCLUDE_SHADER(simple_fade_vert)
|
||||
INCLUDE_SHADER(simple_textured_fade_frag)
|
||||
INCLUDE_SHADER(simple_textured_unlit_fade_frag)
|
||||
INCLUDE_SHADER(simple_opaque_web_browser_frag)
|
||||
INCLUDE_SHADER(simple_transparent_web_browser_frag)
|
||||
INCLUDE_SHADER(glowLine_vert)
|
||||
INCLUDE_SHADER(glowLine_frag)
|
||||
#include "simple_vert.h"
|
||||
#include "simple_textured_frag.h"
|
||||
#include "simple_textured_unlit_frag.h"
|
||||
#include "simple_fade_vert.h"
|
||||
#include "simple_textured_fade_frag.h"
|
||||
#include "simple_textured_unlit_fade_frag.h"
|
||||
#include "simple_opaque_web_browser_frag.h"
|
||||
#include "simple_transparent_web_browser_frag.h"
|
||||
#include "glowLine_vert.h"
|
||||
#include "glowLine_frag.h"
|
||||
|
||||
INCLUDE_SHADER(grid_frag)
|
||||
#include "grid_frag.h"
|
||||
|
||||
//#define WANT_DEBUG
|
||||
|
||||
|
|
|
@ -22,13 +22,13 @@
|
|||
|
||||
#include <sstream>
|
||||
|
||||
INCLUDE_SHADER(surfaceGeometry_copyDepth_frag)
|
||||
INCLUDE_SHADER(debug_deferred_buffer_vert)
|
||||
INCLUDE_SHADER(debug_deferred_buffer_frag)
|
||||
INCLUDE_SHADER(Highlight_frag)
|
||||
INCLUDE_SHADER(Highlight_filled_frag)
|
||||
INCLUDE_SHADER(Highlight_aabox_vert)
|
||||
INCLUDE_SHADER(nop_frag)
|
||||
#include "surfaceGeometry_copyDepth_frag.h"
|
||||
#include "debug_deferred_buffer_vert.h"
|
||||
#include "debug_deferred_buffer_frag.h"
|
||||
#include "Highlight_frag.h"
|
||||
#include "Highlight_filled_frag.h"
|
||||
#include "Highlight_aabox_vert.h"
|
||||
#include "nop_frag.h"
|
||||
|
||||
using namespace render;
|
||||
|
||||
|
@ -547,10 +547,10 @@ const render::Varying DrawHighlightTask::addSelectItemJobs(JobModel& task, const
|
|||
return task.addJob<SelectItems>("TransparentSelection", selectItemInput);
|
||||
}
|
||||
|
||||
INCLUDE_SHADER(model_shadow_vert)
|
||||
INCLUDE_SHADER(skin_model_shadow_vert)
|
||||
#include "model_shadow_vert.h"
|
||||
#include "skin_model_shadow_vert.h"
|
||||
|
||||
INCLUDE_SHADER(model_shadow_frag)
|
||||
#include "model_shadow_frag.h"
|
||||
|
||||
void DrawHighlightTask::initMaskPipelines(render::ShapePlumber& shapePlumber, gpu::StatePointer state) {
|
||||
auto modelVertex = gpu::Shader::createVertex(std::string(model_shadow_vert));
|
||||
|
|
|
@ -18,15 +18,15 @@
|
|||
|
||||
#include "StencilMaskPass.h"
|
||||
|
||||
INCLUDE_SHADER(lightClusters_drawGrid_vert)
|
||||
INCLUDE_SHADER(lightClusters_drawGrid_frag)
|
||||
#include "lightClusters_drawGrid_vert.h"
|
||||
#include "lightClusters_drawGrid_frag.h"
|
||||
|
||||
//INCLUDE_SHADER(lightClusters_drawClusterFromDepth_vert)
|
||||
INCLUDE_SHADER(lightClusters_drawClusterFromDepth_frag)
|
||||
//#include "lightClusters_drawClusterFromDepth_vert.h"
|
||||
#include "lightClusters_drawClusterFromDepth_frag.h"
|
||||
|
||||
|
||||
INCLUDE_SHADER(lightClusters_drawClusterContent_vert)
|
||||
INCLUDE_SHADER(lightClusters_drawClusterContent_frag)
|
||||
#include "lightClusters_drawClusterContent_vert.h"
|
||||
#include "lightClusters_drawClusterContent_frag.h"
|
||||
|
||||
enum LightClusterGridShader_MapSlot {
|
||||
DEFERRED_BUFFER_LINEAR_DEPTH_UNIT = 0,
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
#include <gpu/StandardShaderLib.h>
|
||||
|
||||
INCLUDE_SHADER(nop_frag)
|
||||
#include "nop_frag.h"
|
||||
|
||||
using namespace render;
|
||||
extern void initForwardPipelines(ShapePlumber& plumber);
|
||||
|
@ -125,7 +125,7 @@ void Draw::run(const RenderContextPointer& renderContext,
|
|||
const gpu::PipelinePointer Stencil::getPipeline() {
|
||||
if (!_stencilPipeline) {
|
||||
auto vs = gpu::StandardShaderLib::getDrawUnitQuadTexcoordVS();
|
||||
auto ps = gpu::Shader::createPixel(std::string(nop_frag));
|
||||
auto ps = gpu::Shader::createPixel(std::string(nop_frag);
|
||||
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
||||
gpu::Shader::makeProgram(*program);
|
||||
|
||||
|
|
|
@ -20,86 +20,86 @@
|
|||
#include "TextureCache.h"
|
||||
#include "render/DrawTask.h"
|
||||
|
||||
INCLUDE_SHADER(model_vert)
|
||||
INCLUDE_SHADER(model_normal_map_vert)
|
||||
INCLUDE_SHADER(model_lightmap_vert)
|
||||
INCLUDE_SHADER(model_lightmap_normal_map_vert)
|
||||
INCLUDE_SHADER(skin_model_vert)
|
||||
INCLUDE_SHADER(skin_model_normal_map_vert)
|
||||
#include "model_vert.h"
|
||||
#include "model_normal_map_vert.h"
|
||||
#include "model_lightmap_vert.h"
|
||||
#include "model_lightmap_normal_map_vert.h"
|
||||
#include "skin_model_vert.h"
|
||||
#include "skin_model_normal_map_vert.h"
|
||||
|
||||
INCLUDE_SHADER(model_lightmap_fade_vert)
|
||||
INCLUDE_SHADER(model_lightmap_normal_map_fade_vert)
|
||||
INCLUDE_SHADER(skin_model_fade_vert)
|
||||
INCLUDE_SHADER(skin_model_normal_map_fade_vert)
|
||||
#include "model_lightmap_fade_vert.h"
|
||||
#include "model_lightmap_normal_map_fade_vert.h"
|
||||
#include "skin_model_fade_vert.h"
|
||||
#include "skin_model_normal_map_fade_vert.h"
|
||||
|
||||
INCLUDE_SHADER(simple_vert)
|
||||
INCLUDE_SHADER(simple_textured_frag)
|
||||
INCLUDE_SHADER(simple_textured_unlit_frag)
|
||||
INCLUDE_SHADER(simple_transparent_textured_frag)
|
||||
INCLUDE_SHADER(simple_transparent_textured_unlit_frag)
|
||||
#include "simple_vert.h"
|
||||
#include "simple_textured_frag.h"
|
||||
#include "simple_textured_unlit_frag.h"
|
||||
#include "simple_transparent_textured_frag.h"
|
||||
#include "simple_transparent_textured_unlit_frag.h"
|
||||
|
||||
INCLUDE_SHADER(simple_fade_vert)
|
||||
INCLUDE_SHADER(simple_textured_fade_frag)
|
||||
INCLUDE_SHADER(simple_textured_unlit_fade_frag)
|
||||
INCLUDE_SHADER(simple_transparent_textured_fade_frag)
|
||||
INCLUDE_SHADER(simple_transparent_textured_unlit_fade_frag)
|
||||
#include "simple_fade_vert.h"
|
||||
#include "simple_textured_fade_frag.h"
|
||||
#include "simple_textured_unlit_fade_frag.h"
|
||||
#include "simple_transparent_textured_fade_frag.h"
|
||||
#include "simple_transparent_textured_unlit_fade_frag.h"
|
||||
|
||||
INCLUDE_SHADER(model_frag)
|
||||
INCLUDE_SHADER(model_unlit_frag)
|
||||
INCLUDE_SHADER(model_normal_map_frag)
|
||||
INCLUDE_SHADER(model_normal_specular_map_frag)
|
||||
INCLUDE_SHADER(model_specular_map_frag)
|
||||
#include "model_frag.h"
|
||||
#include "model_unlit_frag.h"
|
||||
#include "model_normal_map_frag.h"
|
||||
#include "model_normal_specular_map_frag.h"
|
||||
#include "model_specular_map_frag.h"
|
||||
|
||||
INCLUDE_SHADER(model_fade_vert)
|
||||
INCLUDE_SHADER(model_normal_map_fade_vert)
|
||||
#include "model_fade_vert.h"
|
||||
#include "model_normal_map_fade_vert.h"
|
||||
|
||||
INCLUDE_SHADER(model_fade_frag)
|
||||
INCLUDE_SHADER(model_unlit_fade_frag)
|
||||
INCLUDE_SHADER(model_normal_map_fade_frag)
|
||||
INCLUDE_SHADER(model_normal_specular_map_fade_frag)
|
||||
INCLUDE_SHADER(model_specular_map_fade_frag)
|
||||
#include "model_fade_frag.h"
|
||||
#include "model_unlit_fade_frag.h"
|
||||
#include "model_normal_map_fade_frag.h"
|
||||
#include "model_normal_specular_map_fade_frag.h"
|
||||
#include "model_specular_map_fade_frag.h"
|
||||
|
||||
INCLUDE_SHADER(forward_model_frag)
|
||||
INCLUDE_SHADER(forward_model_unlit_frag)
|
||||
INCLUDE_SHADER(forward_model_normal_map_frag)
|
||||
INCLUDE_SHADER(forward_model_normal_specular_map_frag)
|
||||
INCLUDE_SHADER(forward_model_specular_map_frag)
|
||||
#include "forward_model_frag.h"
|
||||
#include "forward_model_unlit_frag.h"
|
||||
#include "forward_model_normal_map_frag.h"
|
||||
#include "forward_model_normal_specular_map_frag.h"
|
||||
#include "forward_model_specular_map_frag.h"
|
||||
|
||||
INCLUDE_SHADER(model_lightmap_frag)
|
||||
INCLUDE_SHADER(model_lightmap_normal_map_frag)
|
||||
INCLUDE_SHADER(model_lightmap_normal_specular_map_frag)
|
||||
INCLUDE_SHADER(model_lightmap_specular_map_frag)
|
||||
INCLUDE_SHADER(model_translucent_frag)
|
||||
INCLUDE_SHADER(model_translucent_unlit_frag)
|
||||
#include "model_lightmap_frag.h"
|
||||
#include "model_lightmap_normal_map_frag.h"
|
||||
#include "model_lightmap_normal_specular_map_frag.h"
|
||||
#include "model_lightmap_specular_map_frag.h"
|
||||
#include "model_translucent_frag.h"
|
||||
#include "model_translucent_unlit_frag.h"
|
||||
|
||||
INCLUDE_SHADER(model_lightmap_fade_frag)
|
||||
INCLUDE_SHADER(model_lightmap_normal_map_fade_frag)
|
||||
INCLUDE_SHADER(model_lightmap_normal_specular_map_fade_frag)
|
||||
INCLUDE_SHADER(model_lightmap_specular_map_fade_frag)
|
||||
INCLUDE_SHADER(model_translucent_fade_frag)
|
||||
INCLUDE_SHADER(model_translucent_unlit_fade_frag)
|
||||
#include "model_lightmap_fade_frag.h"
|
||||
#include "model_lightmap_normal_map_fade_frag.h"
|
||||
#include "model_lightmap_normal_specular_map_fade_frag.h"
|
||||
#include "model_lightmap_specular_map_fade_frag.h"
|
||||
#include "model_translucent_fade_frag.h"
|
||||
#include "model_translucent_unlit_fade_frag.h"
|
||||
|
||||
INCLUDE_SHADER(overlay3D_vert)
|
||||
INCLUDE_SHADER(overlay3D_frag)
|
||||
INCLUDE_SHADER(overlay3D_model_frag)
|
||||
INCLUDE_SHADER(overlay3D_model_translucent_frag)
|
||||
INCLUDE_SHADER(overlay3D_translucent_frag)
|
||||
INCLUDE_SHADER(overlay3D_unlit_frag)
|
||||
INCLUDE_SHADER(overlay3D_translucent_unlit_frag)
|
||||
INCLUDE_SHADER(overlay3D_model_unlit_frag)
|
||||
INCLUDE_SHADER(overlay3D_model_translucent_unlit_frag)
|
||||
#include "overlay3D_vert.h"
|
||||
#include "overlay3D_frag.h"
|
||||
#include "overlay3D_model_frag.h"
|
||||
#include "overlay3D_model_translucent_frag.h"
|
||||
#include "overlay3D_translucent_frag.h"
|
||||
#include "overlay3D_unlit_frag.h"
|
||||
#include "overlay3D_translucent_unlit_frag.h"
|
||||
#include "overlay3D_model_unlit_frag.h"
|
||||
#include "overlay3D_model_translucent_unlit_frag.h"
|
||||
|
||||
INCLUDE_SHADER(model_shadow_vert)
|
||||
INCLUDE_SHADER(skin_model_shadow_vert)
|
||||
#include "model_shadow_vert.h"
|
||||
#include "skin_model_shadow_vert.h"
|
||||
|
||||
INCLUDE_SHADER(model_shadow_frag)
|
||||
INCLUDE_SHADER(skin_model_shadow_frag)
|
||||
#include "model_shadow_frag.h"
|
||||
#include "skin_model_shadow_frag.h"
|
||||
|
||||
INCLUDE_SHADER(model_shadow_fade_vert)
|
||||
INCLUDE_SHADER(skin_model_shadow_fade_vert)
|
||||
#include "model_shadow_fade_vert.h"
|
||||
#include "skin_model_shadow_fade_vert.h"
|
||||
|
||||
INCLUDE_SHADER(model_shadow_fade_frag)
|
||||
INCLUDE_SHADER(skin_model_shadow_fade_frag)
|
||||
#include "model_shadow_fade_frag.h"
|
||||
#include "skin_model_shadow_fade_frag.h"
|
||||
|
||||
using namespace render;
|
||||
using namespace std::placeholders;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
#include <gpu/StandardShaderLib.h>
|
||||
|
||||
INCLUDE_SHADER(stencil_drawMask_frag)
|
||||
#include "stencil_drawMask_frag.h"
|
||||
|
||||
using namespace render;
|
||||
|
||||
|
@ -60,7 +60,7 @@ gpu::PipelinePointer PrepareStencil::getMeshStencilPipeline() {
|
|||
gpu::PipelinePointer PrepareStencil::getPaintStencilPipeline() {
|
||||
if (!_paintStencilPipeline) {
|
||||
auto vs = gpu::StandardShaderLib::getDrawUnitQuadTexcoordVS();
|
||||
auto ps = gpu::Shader::createPixel(std::string(stencil_drawMask_frag));
|
||||
auto ps = gpu::Shader::createPixel(std::string(stencil_drawMask_frag);
|
||||
auto program = gpu::Shader::createProgram(vs, ps);
|
||||
gpu::Shader::makeProgram((*program));
|
||||
|
||||
|
|
|
@ -17,11 +17,11 @@
|
|||
|
||||
#include "DeferredLightingEffect.h"
|
||||
|
||||
INCLUDE_SHADER(subsurfaceScattering_makeProfile_frag)
|
||||
INCLUDE_SHADER(subsurfaceScattering_makeLUT_frag)
|
||||
INCLUDE_SHADER(subsurfaceScattering_makeSpecularBeckmann_frag)
|
||||
#include "subsurfaceScattering_makeProfile_frag.h"
|
||||
#include "subsurfaceScattering_makeLUT_frag.h"
|
||||
#include "subsurfaceScattering_makeSpecularBeckmann_frag.h"
|
||||
|
||||
INCLUDE_SHADER(subsurfaceScattering_drawScattering_frag)
|
||||
#include "subsurfaceScattering_drawScattering_frag.h"
|
||||
|
||||
enum ScatteringShaderBufferSlots {
|
||||
ScatteringTask_FrameTransformSlot = 0,
|
||||
|
|
|
@ -25,10 +25,10 @@ const int SurfaceGeometryPass_ParamsSlot = 1;
|
|||
const int SurfaceGeometryPass_DepthMapSlot = 0;
|
||||
const int SurfaceGeometryPass_NormalMapSlot = 1;
|
||||
|
||||
INCLUDE_SHADER(surfaceGeometry_makeLinearDepth_frag)
|
||||
INCLUDE_SHADER(surfaceGeometry_downsampleDepthNormal_frag)
|
||||
#include "surfaceGeometry_makeLinearDepth_frag.h"
|
||||
#include "surfaceGeometry_downsampleDepthNormal_frag.h"
|
||||
|
||||
INCLUDE_SHADER(surfaceGeometry_makeCurvature_frag)
|
||||
#include "surfaceGeometry_makeCurvature_frag.h"
|
||||
|
||||
|
||||
|
||||
|
@ -212,7 +212,7 @@ void LinearDepthPass::run(const render::RenderContextPointer& renderContext, con
|
|||
const gpu::PipelinePointer& LinearDepthPass::getLinearDepthPipeline() {
|
||||
if (!_linearDepthPipeline) {
|
||||
auto vs = gpu::StandardShaderLib::getDrawViewportQuadTransformTexcoordVS();
|
||||
auto ps = gpu::Shader::createPixel(std::string(surfaceGeometry_makeLinearDepth_frag));
|
||||
auto ps = gpu::Shader::createPixel(std::string(surfaceGeometry_makeLinearDepth_frag);
|
||||
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
||||
|
||||
gpu::Shader::BindingSet slotBindings;
|
||||
|
@ -239,7 +239,7 @@ const gpu::PipelinePointer& LinearDepthPass::getLinearDepthPipeline() {
|
|||
const gpu::PipelinePointer& LinearDepthPass::getDownsamplePipeline() {
|
||||
if (!_downsamplePipeline) {
|
||||
auto vs = gpu::StandardShaderLib::getDrawViewportQuadTransformTexcoordVS();
|
||||
auto ps = gpu::Shader::createPixel(std::string(surfaceGeometry_downsampleDepthNormal_frag));
|
||||
auto ps = gpu::Shader::createPixel(std::string(surfaceGeometry_downsampleDepthNormal_frag);
|
||||
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
||||
|
||||
gpu::Shader::BindingSet slotBindings;
|
||||
|
@ -540,7 +540,7 @@ void SurfaceGeometryPass::run(const render::RenderContextPointer& renderContext,
|
|||
const gpu::PipelinePointer& SurfaceGeometryPass::getCurvaturePipeline() {
|
||||
if (!_curvaturePipeline) {
|
||||
auto vs = gpu::StandardShaderLib::getDrawViewportQuadTransformTexcoordVS();
|
||||
auto ps = gpu::Shader::createPixel(std::string(surfaceGeometry_makeCurvature_frag));
|
||||
auto ps = gpu::Shader::createPixel(std::string(surfaceGeometry_makeCurvature_frag);
|
||||
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
||||
|
||||
gpu::Shader::BindingSet slotBindings;
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
#include "MatrixStack.h"
|
||||
#include "RenderUtilsLogging.h"
|
||||
|
||||
INCLUDE_SHADER(sdf_text3D_vert)
|
||||
INCLUDE_SHADER(sdf_text3D_frag)
|
||||
#include "sdf_text3D_vert.h"
|
||||
#include "sdf_text3D_frag.h"
|
||||
|
||||
#include "GeometryCache.h"
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#include "StencilMaskPass.h"
|
||||
#include "FramebufferCache.h"
|
||||
|
||||
INCLUDE_SHADER(toneMapping_frag)
|
||||
#include "toneMapping_frag.h"
|
||||
|
||||
const int ToneMappingEffect_ParamsSlot = 0;
|
||||
const int ToneMappingEffect_LightingMapSlot = 0;
|
||||
|
@ -28,7 +28,7 @@ ToneMappingEffect::ToneMappingEffect() {
|
|||
}
|
||||
|
||||
void ToneMappingEffect::init() {
|
||||
auto blitPS = gpu::ShaderPointer(gpu::Shader::createPixel(std::string(toneMapping_frag)));
|
||||
auto blitPS = gpu::ShaderPointer(gpu::Shader::createPixel(std::string(toneMapping_frag));
|
||||
|
||||
auto blitVS = gpu::StandardShaderLib::getDrawViewportQuadTransformTexcoordVS();
|
||||
auto blitProgram = gpu::ShaderPointer(gpu::Shader::createProgram(blitVS, blitPS));
|
||||
|
|
|
@ -20,9 +20,9 @@
|
|||
#include "StencilMaskPass.h"
|
||||
#include "DeferredLightingEffect.h"
|
||||
|
||||
INCLUDE_SHADER(zone_drawKeyLight_frag)
|
||||
INCLUDE_SHADER(zone_drawAmbient_frag)
|
||||
INCLUDE_SHADER(zone_drawSkybox_frag)
|
||||
#include "zone_drawKeyLight_frag.h"
|
||||
#include "zone_drawAmbient_frag.h"
|
||||
#include "zone_drawSkybox_frag.h"
|
||||
|
||||
|
||||
using namespace render;
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
|
||||
#include <StreamHelpers.h>
|
||||
|
||||
INCLUDE_SHADER(sdf_text3D_vert)
|
||||
INCLUDE_SHADER(sdf_text3D_frag)
|
||||
INCLUDE_SHADER(sdf_text3D_transparent_frag)
|
||||
#include "sdf_text3D_vert.h"
|
||||
#include "sdf_text3D_frag.h"
|
||||
#include "sdf_text3D_transparent_frag.h"
|
||||
|
||||
#include "../RenderUtilsLogging.h"
|
||||
#include "FontFamilies.h"
|
||||
|
|
|
@ -13,11 +13,11 @@
|
|||
#include <gpu/Context.h>
|
||||
#include <gpu/StandardShaderLib.h>
|
||||
|
||||
INCLUDE_SHADER(blurGaussianV_frag)
|
||||
INCLUDE_SHADER(blurGaussianH_frag)
|
||||
#include "blurGaussianV_frag.h"
|
||||
#include "blurGaussianH_frag.h"
|
||||
|
||||
INCLUDE_SHADER(blurGaussianDepthAwareV_frag)
|
||||
INCLUDE_SHADER(blurGaussianDepthAwareH_frag)
|
||||
#include "blurGaussianDepthAwareV_frag.h"
|
||||
#include "blurGaussianDepthAwareH_frag.h"
|
||||
|
||||
using namespace render;
|
||||
|
||||
|
|
|
@ -22,12 +22,12 @@
|
|||
|
||||
#include "Args.h"
|
||||
|
||||
INCLUDE_SHADER(drawCellBounds_vert)
|
||||
INCLUDE_SHADER(drawCellBounds_frag)
|
||||
INCLUDE_SHADER(drawLODReticle_frag)
|
||||
#include "drawCellBounds_vert.h"
|
||||
#include "drawCellBounds_frag.h"
|
||||
#include "drawLODReticle_frag.h"
|
||||
|
||||
INCLUDE_SHADER(drawItemBounds_vert)
|
||||
INCLUDE_SHADER(drawItemBounds_frag)
|
||||
#include "drawItemBounds_vert.h"
|
||||
#include "drawItemBounds_frag.h"
|
||||
|
||||
using namespace render;
|
||||
|
||||
|
|
|
@ -21,10 +21,10 @@
|
|||
|
||||
#include "Args.h"
|
||||
|
||||
INCLUDE_SHADER(drawItemBounds_vert)
|
||||
INCLUDE_SHADER(drawItemBounds_frag)
|
||||
INCLUDE_SHADER(drawItemStatus_vert)
|
||||
INCLUDE_SHADER(drawItemStatus_frag)
|
||||
#include "drawItemBounds_vert.h"
|
||||
#include "drawItemBounds_frag.h"
|
||||
#include "drawItemStatus_vert.h"
|
||||
#include "drawItemStatus_frag.h"
|
||||
|
||||
using namespace render;
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
#include <gpu/Context.h>
|
||||
#include <gpu/StandardShaderLib.h>
|
||||
|
||||
INCLUDE_SHADER(drawItemBounds_vert)
|
||||
INCLUDE_SHADER(drawItemBounds_frag)
|
||||
#include "drawItemBounds_vert.h"
|
||||
#include "drawItemBounds_frag.h"
|
||||
|
||||
using namespace render;
|
||||
|
||||
|
|
|
@ -23,65 +23,65 @@
|
|||
|
||||
#include <gl/QOpenGLContextWrapper.h>
|
||||
|
||||
INCLUDE_SHADER(simple_vert)
|
||||
INCLUDE_SHADER(simple_frag)
|
||||
INCLUDE_SHADER(simple_textured_frag)
|
||||
INCLUDE_SHADER(simple_textured_unlit_frag)
|
||||
#include "simple_vert.h"
|
||||
#include "simple_frag.h"
|
||||
#include "simple_textured_frag.h"
|
||||
#include "simple_textured_unlit_frag.h"
|
||||
|
||||
INCLUDE_SHADER(deferred_light_vert)
|
||||
INCLUDE_SHADER(deferred_light_point_vert)
|
||||
INCLUDE_SHADER(deferred_light_spot_vert)
|
||||
#include "deferred_light_vert.h"
|
||||
#include "deferred_light_point_vert.h"
|
||||
#include "deferred_light_spot_vert.h"
|
||||
|
||||
INCLUDE_SHADER(directional_ambient_light_frag)
|
||||
INCLUDE_SHADER(directional_skybox_light_frag)
|
||||
#include "directional_ambient_light_frag.h"
|
||||
#include "directional_skybox_light_frag.h"
|
||||
|
||||
INCLUDE_SHADER(standardTransformPNTC_vert)
|
||||
INCLUDE_SHADER(standardDrawTexture_frag)
|
||||
#include "standardTransformPNTC_vert.h"
|
||||
#include "standardDrawTexture_frag.h"
|
||||
|
||||
INCLUDE_SHADER(model_vert)
|
||||
INCLUDE_SHADER(model_shadow_vert)
|
||||
INCLUDE_SHADER(model_normal_map_vert)
|
||||
INCLUDE_SHADER(model_lightmap_vert)
|
||||
INCLUDE_SHADER(model_lightmap_normal_map_vert)
|
||||
INCLUDE_SHADER(skin_model_vert)
|
||||
INCLUDE_SHADER(skin_model_shadow_vert)
|
||||
INCLUDE_SHADER(skin_model_normal_map_vert)
|
||||
#include "model_vert.h"
|
||||
#include "model_shadow_vert.h"
|
||||
#include "model_normal_map_vert.h"
|
||||
#include "model_lightmap_vert.h"
|
||||
#include "model_lightmap_normal_map_vert.h"
|
||||
#include "skin_model_vert.h"
|
||||
#include "skin_model_shadow_vert.h"
|
||||
#include "skin_model_normal_map_vert.h"
|
||||
|
||||
INCLUDE_SHADER(model_frag)
|
||||
INCLUDE_SHADER(model_shadow_frag)
|
||||
INCLUDE_SHADER(model_normal_map_frag)
|
||||
INCLUDE_SHADER(model_normal_specular_map_frag)
|
||||
INCLUDE_SHADER(model_specular_map_frag)
|
||||
INCLUDE_SHADER(model_lightmap_frag)
|
||||
INCLUDE_SHADER(model_lightmap_normal_map_frag)
|
||||
INCLUDE_SHADER(model_lightmap_normal_specular_map_frag)
|
||||
INCLUDE_SHADER(model_lightmap_specular_map_frag)
|
||||
INCLUDE_SHADER(model_translucent_frag)
|
||||
#include "model_frag.h"
|
||||
#include "model_shadow_frag.h"
|
||||
#include "model_normal_map_frag.h"
|
||||
#include "model_normal_specular_map_frag.h"
|
||||
#include "model_specular_map_frag.h"
|
||||
#include "model_lightmap_frag.h"
|
||||
#include "model_lightmap_normal_map_frag.h"
|
||||
#include "model_lightmap_normal_specular_map_frag.h"
|
||||
#include "model_lightmap_specular_map_frag.h"
|
||||
#include "model_translucent_frag.h"
|
||||
|
||||
INCLUDE_SHADER(textured_particle_frag)
|
||||
INCLUDE_SHADER(textured_particle_vert)
|
||||
#include "textured_particle_frag.h"
|
||||
#include "textured_particle_vert.h"
|
||||
|
||||
INCLUDE_SHADER(overlay3D_vert)
|
||||
INCLUDE_SHADER(overlay3D_frag)
|
||||
#include "overlay3D_vert.h"
|
||||
#include "overlay3D_frag.h"
|
||||
|
||||
INCLUDE_SHADER(skybox_vert)
|
||||
INCLUDE_SHADER(skybox_frag)
|
||||
#include "skybox_vert.h"
|
||||
#include "skybox_frag.h"
|
||||
|
||||
INCLUDE_SHADER(DrawTransformUnitQuad_vert)
|
||||
INCLUDE_SHADER(DrawTexcoordRectTransformUnitQuad_vert)
|
||||
INCLUDE_SHADER(DrawViewportQuadTransformTexcoord_vert)
|
||||
INCLUDE_SHADER(DrawTexture_frag)
|
||||
INCLUDE_SHADER(DrawTextureOpaque_frag)
|
||||
INCLUDE_SHADER(DrawColoredTexture_frag)
|
||||
#include "DrawTransformUnitQuad_vert.h"
|
||||
#include "DrawTexcoordRectTransformUnitQuad_vert.h"
|
||||
#include "DrawViewportQuadTransformTexcoord_vert.h"
|
||||
#include "DrawTexture_frag.h"
|
||||
#include "DrawTextureOpaque_frag.h"
|
||||
#include "DrawColoredTexture_frag.h"
|
||||
|
||||
INCLUDE_SHADER(sdf_text3D_vert)
|
||||
INCLUDE_SHADER(sdf_text3D_frag)
|
||||
#include "sdf_text3D_vert.h"
|
||||
#include "sdf_text3D_frag.h"
|
||||
|
||||
INCLUDE_SHADER(paintStroke_vert)
|
||||
INCLUDE_SHADER(paintStroke_frag)
|
||||
#include "paintStroke_vert.h"
|
||||
#include "paintStroke_frag.h"
|
||||
|
||||
INCLUDE_SHADER(polyvox_vert)
|
||||
INCLUDE_SHADER(polyvox_frag)
|
||||
#include "polyvox_vert.h"
|
||||
#include "polyvox_frag.h"
|
||||
|
||||
// Create a simple OpenGL window that renders text in various ways
|
||||
class QTestWindow : public QWindow {
|
||||
|
@ -159,54 +159,54 @@ void QTestWindow::draw() {
|
|||
|
||||
static std::once_flag once;
|
||||
std::call_once(once, [&]{
|
||||
testShaderBuild(sdf_text3D_vert, sdf_text3D_frag);
|
||||
testShaderBuild(sdf_text3D_vert, sdf_text3D_frag.h";
|
||||
|
||||
testShaderBuild(DrawTransformUnitQuad_vert, DrawTexture_frag);
|
||||
testShaderBuild(DrawTexcoordRectTransformUnitQuad_vert, DrawTexture_frag);
|
||||
testShaderBuild(DrawViewportQuadTransformTexcoord_vert, DrawTexture_frag);
|
||||
testShaderBuild(DrawTransformUnitQuad_vert, DrawTextureOpaque_frag);
|
||||
testShaderBuild(DrawTransformUnitQuad_vert, DrawColoredTexture_frag);
|
||||
testShaderBuild(DrawTransformUnitQuad_vert, DrawTexture_frag.h";
|
||||
testShaderBuild(DrawTexcoordRectTransformUnitQuad_vert, DrawTexture_frag.h";
|
||||
testShaderBuild(DrawViewportQuadTransformTexcoord_vert, DrawTexture_frag.h";
|
||||
testShaderBuild(DrawTransformUnitQuad_vert, DrawTextureOpaque_frag.h";
|
||||
testShaderBuild(DrawTransformUnitQuad_vert, DrawColoredTexture_frag.h";
|
||||
|
||||
testShaderBuild(skybox_vert, skybox_frag);
|
||||
testShaderBuild(simple_vert, simple_frag);
|
||||
testShaderBuild(simple_vert, simple_textured_frag);
|
||||
testShaderBuild(simple_vert, simple_textured_unlit_frag);
|
||||
testShaderBuild(deferred_light_vert, directional_ambient_light_frag);
|
||||
testShaderBuild(deferred_light_vert, directional_skybox_light_frag);
|
||||
testShaderBuild(standardTransformPNTC_vert, standardDrawTexture_frag);
|
||||
testShaderBuild(standardTransformPNTC_vert, DrawTextureOpaque_frag);
|
||||
testShaderBuild(skybox_vert, skybox_frag.h";
|
||||
testShaderBuild(simple_vert, simple_frag.h";
|
||||
testShaderBuild(simple_vert, simple_textured_frag.h";
|
||||
testShaderBuild(simple_vert, simple_textured_unlit_frag.h";
|
||||
testShaderBuild(deferred_light_vert, directional_ambient_light_frag.h";
|
||||
testShaderBuild(deferred_light_vert, directional_skybox_light_frag.h";
|
||||
testShaderBuild(standardTransformPNTC_vert, standardDrawTexture_frag.h";
|
||||
testShaderBuild(standardTransformPNTC_vert, DrawTextureOpaque_frag.h";
|
||||
|
||||
testShaderBuild(model_vert, model_frag);
|
||||
testShaderBuild(model_normal_map_vert, model_normal_map_frag);
|
||||
testShaderBuild(model_vert, model_specular_map_frag);
|
||||
testShaderBuild(model_normal_map_vert, model_normal_specular_map_frag);
|
||||
testShaderBuild(model_vert, model_translucent_frag);
|
||||
testShaderBuild(model_normal_map_vert, model_translucent_frag);
|
||||
testShaderBuild(model_lightmap_vert, model_lightmap_frag);
|
||||
testShaderBuild(model_lightmap_normal_map_vert, model_lightmap_normal_map_frag);
|
||||
testShaderBuild(model_lightmap_vert, model_lightmap_specular_map_frag);
|
||||
testShaderBuild(model_lightmap_normal_map_vert, model_lightmap_normal_specular_map_frag);
|
||||
testShaderBuild(model_vert, model_frag.h";
|
||||
testShaderBuild(model_normal_map_vert, model_normal_map_frag.h";
|
||||
testShaderBuild(model_vert, model_specular_map_frag.h";
|
||||
testShaderBuild(model_normal_map_vert, model_normal_specular_map_frag.h";
|
||||
testShaderBuild(model_vert, model_translucent_frag.h";
|
||||
testShaderBuild(model_normal_map_vert, model_translucent_frag.h";
|
||||
testShaderBuild(model_lightmap_vert, model_lightmap_frag.h";
|
||||
testShaderBuild(model_lightmap_normal_map_vert, model_lightmap_normal_map_frag.h";
|
||||
testShaderBuild(model_lightmap_vert, model_lightmap_specular_map_frag.h";
|
||||
testShaderBuild(model_lightmap_normal_map_vert, model_lightmap_normal_specular_map_frag.h";
|
||||
|
||||
testShaderBuild(skin_model_vert, model_frag);
|
||||
testShaderBuild(skin_model_normal_map_vert, model_normal_map_frag);
|
||||
testShaderBuild(skin_model_vert, model_specular_map_frag);
|
||||
testShaderBuild(skin_model_normal_map_vert, model_normal_specular_map_frag);
|
||||
testShaderBuild(skin_model_vert, model_translucent_frag);
|
||||
testShaderBuild(skin_model_normal_map_vert, model_translucent_frag);
|
||||
testShaderBuild(skin_model_vert, model_frag.h";
|
||||
testShaderBuild(skin_model_normal_map_vert, model_normal_map_frag.h";
|
||||
testShaderBuild(skin_model_vert, model_specular_map_frag.h";
|
||||
testShaderBuild(skin_model_normal_map_vert, model_normal_specular_map_frag.h";
|
||||
testShaderBuild(skin_model_vert, model_translucent_frag.h";
|
||||
testShaderBuild(skin_model_normal_map_vert, model_translucent_frag.h";
|
||||
|
||||
testShaderBuild(model_shadow_vert, model_shadow_frag);
|
||||
testShaderBuild(textured_particle_vert, textured_particle_frag);
|
||||
testShaderBuild(model_shadow_vert, model_shadow_frag.h";
|
||||
testShaderBuild(textured_particle_vert, textured_particle_frag.h";
|
||||
/* FIXME: Bring back the ssao shader tests
|
||||
testShaderBuild(gaussian_blur_vertical_vert, gaussian_blur_frag);
|
||||
testShaderBuild(gaussian_blur_horizontal_vert, gaussian_blur_frag);
|
||||
testShaderBuild(ambient_occlusion_vert, ambient_occlusion_frag);
|
||||
testShaderBuild(ambient_occlusion_vert, occlusion_blend_frag);
|
||||
testShaderBuild(gaussian_blur_vertical_vert, gaussian_blur_frag.h";
|
||||
testShaderBuild(gaussian_blur_horizontal_vert, gaussian_blur_frag.h";
|
||||
testShaderBuild(ambient_occlusion_vert, ambient_occlusion_frag.h";
|
||||
testShaderBuild(ambient_occlusion_vert, occlusion_blend_frag.h";
|
||||
*/
|
||||
|
||||
testShaderBuild(overlay3D_vert, overlay3D_frag);
|
||||
testShaderBuild(overlay3D_vert, overlay3D_frag.h";
|
||||
|
||||
testShaderBuild(paintStroke_vert,paintStroke_frag);
|
||||
testShaderBuild(polyvox_vert, polyvox_frag);
|
||||
testShaderBuild(paintStroke_vert,paintStroke_frag.h";
|
||||
testShaderBuild(polyvox_vert, polyvox_frag.h";
|
||||
|
||||
});
|
||||
_context.swapBuffers(this);
|
||||
|
|
|
@ -44,6 +44,18 @@ int main (int argc, char** argv) {
|
|||
EXIT,
|
||||
} mode = READY;
|
||||
|
||||
enum Type {
|
||||
VERTEX = 0,
|
||||
FRAGMENT,
|
||||
GEOMETRY,
|
||||
} type = VERTEX;
|
||||
static const char* shaderTypeString[] = {
|
||||
"VERTEX", "PIXEL", "GEOMETRY"
|
||||
};
|
||||
static const char* shaderCreateString[] = {
|
||||
"Vertex", "Pixel", "Geometry"
|
||||
};
|
||||
|
||||
for (int ii = 1; (mode != EXIT) && (ii < argc); ii++) {
|
||||
inputs.push_back(argv[ii]);
|
||||
|
||||
|
@ -66,6 +78,15 @@ int main (int argc, char** argv) {
|
|||
} else if (inputs.back() == "-c++") {
|
||||
makeCPlusPlus = true;
|
||||
mode = READY;
|
||||
} else if (inputs.back() == "-vert") {
|
||||
type = VERTEX;
|
||||
mode = READY;
|
||||
} else if (inputs.back() == "-frag") {
|
||||
type = FRAGMENT;
|
||||
mode = READY;
|
||||
} else if (inputs.back() == "-geom") {
|
||||
type = GEOMETRY;
|
||||
mode = READY;
|
||||
} else {
|
||||
// just grabbed the source filename, stop parameter parsing
|
||||
srcFilename = inputs.back();
|
||||
|
@ -186,7 +207,6 @@ int main (int argc, char** argv) {
|
|||
scribe->displayTree(cerr, level);
|
||||
}
|
||||
|
||||
std::ostringstream targetStringStream;
|
||||
if (makeCPlusPlus) {
|
||||
// Because there is a maximum size for literal strings declared in source we need to partition the
|
||||
// full source string stream into pages that seems to be around that value...
|
||||
|
@ -208,32 +228,108 @@ int main (int argc, char** argv) {
|
|||
pageSize += lineSize;
|
||||
}
|
||||
|
||||
targetStringStream << "// File generated by Scribe " << vars["_SCRIBE_DATE"] << std::endl;
|
||||
targetStringStream << "extern const char " << targetName << "[] = \n";
|
||||
std::stringstream headerStringStream;
|
||||
std::stringstream sourceStringStream;
|
||||
std::string headerFileName = destFilename + ".h";
|
||||
std::string sourceFileName = destFilename + ".cpp";
|
||||
|
||||
sourceStringStream << "// File generated by Scribe " << vars["_SCRIBE_DATE"] << std::endl;
|
||||
|
||||
// Write header file
|
||||
headerStringStream << "#ifndef " << targetName << "_h" << std::endl;
|
||||
headerStringStream << "#define " << targetName << "_h\n" << std::endl;
|
||||
headerStringStream << "#include <gpu/Shader.h>\n" << std::endl;
|
||||
headerStringStream << "class " << targetName << " {" << std::endl;
|
||||
headerStringStream << "public:" << std::endl;
|
||||
headerStringStream << "\tstatic gpu::Shader::Type getType() { return gpu::Shader::" << shaderTypeString[type] << "; }" << std::endl;
|
||||
headerStringStream << "\tstatic const char* getSource() { return _source; }" << std::endl;
|
||||
headerStringStream << "\tstatic gpu::ShaderPointer getShader();" << std::endl;
|
||||
headerStringStream << "private:" << std::endl;
|
||||
headerStringStream << "\tstatic const char* _source;" << std::endl;
|
||||
headerStringStream << "\tstatic gpu::ShaderPointer _shader;" << std::endl;
|
||||
headerStringStream << "};\n" << std::endl;
|
||||
headerStringStream << "#endif // " << targetName << "_h" << std::endl;
|
||||
|
||||
bool mustOutputHeader = destFilename.empty();
|
||||
// Compare with existing file
|
||||
{
|
||||
std::fstream headerFile;
|
||||
headerFile.open(headerFileName, std::fstream::in);
|
||||
if (headerFile.is_open()) {
|
||||
// Skip first line
|
||||
std::string line;
|
||||
std::stringstream previousHeaderStringStream;
|
||||
std::getline(headerFile, line);
|
||||
|
||||
previousHeaderStringStream << headerFile.rdbuf();
|
||||
mustOutputHeader = mustOutputHeader || previousHeaderStringStream.str() != headerStringStream.str();
|
||||
} else {
|
||||
mustOutputHeader = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (mustOutputHeader) {
|
||||
if (!destFilename.empty()) {
|
||||
// File content has changed so write it
|
||||
std::fstream headerFile;
|
||||
headerFile.open(headerFileName, std::fstream::out);
|
||||
if (headerFile.is_open()) {
|
||||
// First line contains the date of modification
|
||||
headerFile << sourceStringStream.str();
|
||||
headerFile << headerStringStream.str();
|
||||
} else {
|
||||
cerr << "Scribe output file <" << headerFileName << "> failed to open." << endl;
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
cerr << sourceStringStream.str();
|
||||
cerr << headerStringStream.str();
|
||||
}
|
||||
}
|
||||
|
||||
// Write source file
|
||||
sourceStringStream << "#include \"" << targetName << ".h\"\n" << std::endl;
|
||||
sourceStringStream << "gpu::ShaderPointer " << targetName << "::_shader;" << std::endl;
|
||||
sourceStringStream << "const char* " << targetName << "::_source = ";
|
||||
// Write the pages content
|
||||
for (auto page : pages) {
|
||||
targetStringStream << "R\"SCRIBE(\n" << page->str() << "\n)SCRIBE\"\n";
|
||||
sourceStringStream << "R\"SCRIBE(\n" << page->str() << "\n)SCRIBE\"\n";
|
||||
}
|
||||
targetStringStream << ";\n" << std::endl << std::endl;
|
||||
targetStringStream << "// Hack to fix Android link error by forcing a reference to global variable\n";
|
||||
targetStringStream << "class " << targetName << "_used {\npublic:\nstatic const char* get() { return " << targetName << "; }\n};\n" << std::endl;
|
||||
} else {
|
||||
targetStringStream << destStringStream.str();
|
||||
}
|
||||
sourceStringStream << ";\n" << std::endl << std::endl;
|
||||
|
||||
// Destination stream
|
||||
if (!destFilename.empty()) {
|
||||
std::fstream destFileStream;
|
||||
destFileStream.open(destFilename, std::fstream::out);
|
||||
if (!destFileStream.is_open()) {
|
||||
cerr << "Scribe output file " << destFilename << "> failed to open." << endl;
|
||||
return 0;
|
||||
sourceStringStream << "gpu::ShaderPointer " << targetName << "::getShader() {" << std::endl;
|
||||
sourceStringStream << "\tif (_shader==nullptr) {" << std::endl;
|
||||
sourceStringStream << "\t\t_shader = gpu::Shader::create" << shaderCreateString[type] << "(std::string(_source));" << std::endl;
|
||||
sourceStringStream << "\t}" << std::endl;
|
||||
sourceStringStream << "\treturn _shader;" << std::endl;
|
||||
sourceStringStream << "}\n" << std::endl;
|
||||
|
||||
// Destination stream
|
||||
if (!destFilename.empty()) {
|
||||
std::fstream sourceFile;
|
||||
sourceFile.open(sourceFileName, std::fstream::out);
|
||||
if (!sourceFile.is_open()) {
|
||||
cerr << "Scribe output file <" << sourceFileName << "> failed to open." << endl;
|
||||
return 0;
|
||||
}
|
||||
sourceFile << sourceStringStream.str();
|
||||
} else {
|
||||
cerr << sourceStringStream.str();
|
||||
}
|
||||
|
||||
destFileStream << targetStringStream.str();
|
||||
} else {
|
||||
cerr << targetStringStream.str();
|
||||
// Destination stream
|
||||
if (!destFilename.empty()) {
|
||||
std::fstream destFileStream;
|
||||
destFileStream.open(destFilename, std::fstream::out);
|
||||
if (!destFileStream.is_open()) {
|
||||
cerr << "Scribe output file <" << destFilename << "> failed to open." << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
destFileStream << destStringStream.str();
|
||||
} else {
|
||||
cerr << destStringStream.str();
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue