mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 13:38:02 +02:00
Updated pipelines
This commit is contained in:
parent
54eab1c878
commit
32445a5660
2 changed files with 48 additions and 4 deletions
|
@ -30,6 +30,7 @@
|
||||||
#include "model_lightmap_fade_vert.h"
|
#include "model_lightmap_fade_vert.h"
|
||||||
#include "model_lightmap_normal_map_fade_vert.h"
|
#include "model_lightmap_normal_map_fade_vert.h"
|
||||||
#include "model_translucent_vert.h"
|
#include "model_translucent_vert.h"
|
||||||
|
#include "model_translucent_fade_vert.h"
|
||||||
#include "skin_model_fade_vert.h"
|
#include "skin_model_fade_vert.h"
|
||||||
#include "skin_model_normal_map_fade_vert.h"
|
#include "skin_model_normal_map_fade_vert.h"
|
||||||
|
|
||||||
|
@ -190,6 +191,7 @@ void initDeferredPipelines(render::ShapePlumber& plumber, const render::ShapePip
|
||||||
auto modelLightmapVertex = gpu::Shader::createVertex(std::string(model_lightmap_vert));
|
auto modelLightmapVertex = gpu::Shader::createVertex(std::string(model_lightmap_vert));
|
||||||
auto modelLightmapNormalMapVertex = gpu::Shader::createVertex(std::string(model_lightmap_normal_map_vert));
|
auto modelLightmapNormalMapVertex = gpu::Shader::createVertex(std::string(model_lightmap_normal_map_vert));
|
||||||
auto modelTranslucentVertex = gpu::Shader::createVertex(std::string(model_translucent_vert));
|
auto modelTranslucentVertex = gpu::Shader::createVertex(std::string(model_translucent_vert));
|
||||||
|
auto modelTranslucentFadeVertex = gpu::Shader::createVertex(std::string(model_translucent_fade_vert));
|
||||||
auto modelShadowVertex = gpu::Shader::createVertex(std::string(model_shadow_vert));
|
auto modelShadowVertex = gpu::Shader::createVertex(std::string(model_shadow_vert));
|
||||||
auto skinModelVertex = gpu::Shader::createVertex(std::string(skin_model_vert));
|
auto skinModelVertex = gpu::Shader::createVertex(std::string(skin_model_vert));
|
||||||
auto skinModelNormalMapVertex = gpu::Shader::createVertex(std::string(skin_model_normal_map_vert));
|
auto skinModelNormalMapVertex = gpu::Shader::createVertex(std::string(skin_model_normal_map_vert));
|
||||||
|
@ -202,9 +204,7 @@ void initDeferredPipelines(render::ShapePlumber& plumber, const render::ShapePip
|
||||||
auto skinModelNormalMapTranslucentVertex = skinModelNormalMapFadeVertex; // We use the same because it ouputs world position per vertex
|
auto skinModelNormalMapTranslucentVertex = skinModelNormalMapFadeVertex; // We use the same because it ouputs world position per vertex
|
||||||
|
|
||||||
auto modelFadeVertex = gpu::Shader::createVertex(std::string(model_fade_vert));
|
auto modelFadeVertex = gpu::Shader::createVertex(std::string(model_fade_vert));
|
||||||
auto modelTranslucentFadeVertex = modelTranslucentVertex; // We use the same because it ouputs world position per vertex
|
|
||||||
auto modelNormalMapFadeVertex = gpu::Shader::createVertex(std::string(model_normal_map_fade_vert));
|
auto modelNormalMapFadeVertex = gpu::Shader::createVertex(std::string(model_normal_map_fade_vert));
|
||||||
auto modelNormalMapTranslucentVertex = modelNormalMapFadeVertex; // We use the same because it ouputs world position per vertex
|
|
||||||
auto simpleFadeVertex = gpu::Shader::createVertex(std::string(simple_fade_vert));
|
auto simpleFadeVertex = gpu::Shader::createVertex(std::string(simple_fade_vert));
|
||||||
auto modelShadowFadeVertex = gpu::Shader::createVertex(std::string(model_shadow_fade_vert));
|
auto modelShadowFadeVertex = gpu::Shader::createVertex(std::string(model_shadow_fade_vert));
|
||||||
auto skinModelShadowFadeVertex = gpu::Shader::createVertex(std::string(skin_model_shadow_fade_vert));
|
auto skinModelShadowFadeVertex = gpu::Shader::createVertex(std::string(skin_model_shadow_fade_vert));
|
||||||
|
@ -307,13 +307,13 @@ void initDeferredPipelines(render::ShapePlumber& plumber, const render::ShapePip
|
||||||
simpleVertex, simpleTranslucentUnlitPixel, nullptr, nullptr);
|
simpleVertex, simpleTranslucentUnlitPixel, nullptr, nullptr);
|
||||||
addPipeline(
|
addPipeline(
|
||||||
Key::Builder().withMaterial().withTranslucent().withTangents(),
|
Key::Builder().withMaterial().withTranslucent().withTangents(),
|
||||||
modelNormalMapTranslucentVertex, modelTranslucentPixel, nullptr, nullptr);
|
modelTranslucentVertex, modelTranslucentPixel, nullptr, nullptr);
|
||||||
addPipeline(
|
addPipeline(
|
||||||
Key::Builder().withMaterial().withTranslucent().withSpecular(),
|
Key::Builder().withMaterial().withTranslucent().withSpecular(),
|
||||||
modelTranslucentVertex, modelTranslucentPixel, nullptr, nullptr);
|
modelTranslucentVertex, modelTranslucentPixel, nullptr, nullptr);
|
||||||
addPipeline(
|
addPipeline(
|
||||||
Key::Builder().withMaterial().withTranslucent().withTangents().withSpecular(),
|
Key::Builder().withMaterial().withTranslucent().withTangents().withSpecular(),
|
||||||
modelNormalMapTranslucentVertex, modelTranslucentPixel, nullptr, nullptr);
|
modelTranslucentVertex, modelTranslucentPixel, nullptr, nullptr);
|
||||||
addPipeline(
|
addPipeline(
|
||||||
// FIXME: Ignore lightmap for translucents meshpart
|
// FIXME: Ignore lightmap for translucents meshpart
|
||||||
Key::Builder().withMaterial().withTranslucent().withLightmap(),
|
Key::Builder().withMaterial().withTranslucent().withLightmap(),
|
||||||
|
|
44
libraries/render-utils/src/model_translucent_fade.slv
Normal file
44
libraries/render-utils/src/model_translucent_fade.slv
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<@include gpu/Config.slh@>
|
||||||
|
<$VERSION_HEADER$>
|
||||||
|
// Generated on <$_SCRIBE_DATE$>
|
||||||
|
// model_translucent_fade.slv
|
||||||
|
// vertex shader
|
||||||
|
//
|
||||||
|
// Created by Olivier Prat on 15/01/18.
|
||||||
|
// Copyright 2018 High Fidelity, Inc.
|
||||||
|
//
|
||||||
|
// Distributed under the Apache License, Version 2.0.
|
||||||
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
//
|
||||||
|
|
||||||
|
<@include gpu/Inputs.slh@>
|
||||||
|
<@include gpu/Color.slh@>
|
||||||
|
<@include gpu/Transform.slh@>
|
||||||
|
<$declareStandardTransform()$>
|
||||||
|
|
||||||
|
<@include MaterialTextures.slh@>
|
||||||
|
<$declareMaterialTexMapArrayBuffer()$>
|
||||||
|
|
||||||
|
out float _alpha;
|
||||||
|
out vec2 _texCoord0;
|
||||||
|
out vec2 _texCoord1;
|
||||||
|
out vec4 _position;
|
||||||
|
out vec4 _worldPosition;
|
||||||
|
out vec3 _normal;
|
||||||
|
out vec3 _color;
|
||||||
|
|
||||||
|
void main(void) {
|
||||||
|
_color = colorToLinearRGB(inColor.xyz);
|
||||||
|
_alpha = inColor.w;
|
||||||
|
|
||||||
|
TexMapArray texMapArray = getTexMapArray();
|
||||||
|
<$evalTexMapArrayTexcoord0(texMapArray, inTexCoord0, _texCoord0)$>
|
||||||
|
<$evalTexMapArrayTexcoord1(texMapArray, inTexCoord0, _texCoord1)$>
|
||||||
|
|
||||||
|
// standard transform
|
||||||
|
TransformCamera cam = getTransformCamera();
|
||||||
|
TransformObject obj = getTransformObject();
|
||||||
|
<$transformModelToEyeAndClipPos(cam, obj, inPosition, _position, gl_Position)$>
|
||||||
|
<$transformModelToWorldPos(obj, inPosition, _worldPosition)$>
|
||||||
|
<$transformModelToEyeDir(cam, obj, inNormal.xyz, _normal)$>
|
||||||
|
}
|
Loading…
Reference in a new issue