summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/38-bloom/bloom.cpp
diff options
context:
space:
mode:
author Julian Sikorski <belegdol+github@gmail.com>2019-10-13 13:50:38 +0200
committer R. Belmont <rb6502@users.noreply.github.com>2019-10-13 07:50:38 -0400
commit0837e7451a84f95c29dbdb9bd6b8b931fee1635d (patch)
tree626bcbd250a7fbebdf5958a288d2f438d4f9fb5a /3rdparty/bgfx/examples/38-bloom/bloom.cpp
parentc913ccb59d713ce0b91135520719ac5385e54358 (diff)
WIP: sync bgfx, bx and bimg with latest upstream (#5723)
* Sync with bgfx upstream revision b91d0b6 * Sync with bx upstream revision d60912b * Sync with bimg upstream revision bd81f60 * Add astc-codec decoder * Rename VertexDecl to VertexLayout * Rename UniformType enum Int1 to Sampler. * Add NVN stub * Fix unused-const-variable error on macOS * Drop redundant explicit language parameters buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only applied to objective c++ files. As such, hardcoding -x offers no benefit while preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on macOS) from working. * Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning * Build bgfx as Objective-C++ on macOS It is needed due to included headers * Enable Direct3D12 and Vulkan bgfx rendering backends * Enable building of spirv shaders * Properly escape /c in cmd call * Comment out dx12 bgfx renderer * Honor VERBOSE setting during shaders build * Only invert hlsl shader XYZ_TO_sRGB matrix for opengl * Add spirv shaders * OpenGL ES needs transposed matrix too * Metal needs transposed matrix as well
Diffstat (limited to '3rdparty/bgfx/examples/38-bloom/bloom.cpp')
-rw-r--r--3rdparty/bgfx/examples/38-bloom/bloom.cpp46
1 files changed, 26 insertions, 20 deletions
diff --git a/3rdparty/bgfx/examples/38-bloom/bloom.cpp b/3rdparty/bgfx/examples/38-bloom/bloom.cpp
index 1de0111ca9b..b52ed73e2c9 100644
--- a/3rdparty/bgfx/examples/38-bloom/bloom.cpp
+++ b/3rdparty/bgfx/examples/38-bloom/bloom.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 Eric Arnebäck. All rights reserved.
+ * Copyright 2018 Eric Arnebäck. All rights reserved.
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
*/
@@ -43,16 +43,16 @@ struct PosVertex
static void init()
{
- ms_decl
+ ms_layout
.begin()
.add(bgfx::Attrib::Position, 3, bgfx::AttribType::Float)
.end();
}
- static bgfx::VertexDecl ms_decl;
+ static bgfx::VertexLayout ms_layout;
};
-bgfx::VertexDecl PosVertex::ms_decl;
+bgfx::VertexLayout PosVertex::ms_layout;
struct PosTexCoord0Vertex
{
@@ -64,17 +64,17 @@ struct PosTexCoord0Vertex
static void init()
{
- ms_decl
+ ms_layout
.begin()
.add(bgfx::Attrib::Position, 3, bgfx::AttribType::Float)
.add(bgfx::Attrib::TexCoord0, 2, bgfx::AttribType::Float)
.end();
}
- static bgfx::VertexDecl ms_decl;
+ static bgfx::VertexLayout ms_layout;
};
-bgfx::VertexDecl PosTexCoord0Vertex::ms_decl;
+bgfx::VertexLayout PosTexCoord0Vertex::ms_layout;
constexpr float cs = 0.29f;
@@ -126,10 +126,10 @@ static const uint16_t s_cubeIndices[36] =
void screenSpaceQuad(float _textureWidth, float _textureHeight, float _texelHalf, bool _originBottomLeft, float _width = 1.0f, float _height = 1.0f)
{
- if (3 == bgfx::getAvailTransientVertexBuffer(3, PosTexCoord0Vertex::ms_decl) )
+ if (3 == bgfx::getAvailTransientVertexBuffer(3, PosTexCoord0Vertex::ms_layout) )
{
bgfx::TransientVertexBuffer vb;
- bgfx::allocTransientVertexBuffer(&vb, 3, PosTexCoord0Vertex::ms_decl);
+ bgfx::allocTransientVertexBuffer(&vb, 3, PosTexCoord0Vertex::ms_layout);
PosTexCoord0Vertex* vertex = (PosTexCoord0Vertex*)vb.data;
const float minx = -_width;
@@ -182,8 +182,8 @@ void screenSpaceQuad(float _textureWidth, float _textureHeight, float _texelHalf
class ExampleDeferred : public entry::AppI
{
public:
- ExampleDeferred(const char* _name, const char* _description)
- : entry::AppI(_name, _description)
+ ExampleDeferred(const char* _name, const char* _description, const char* _url)
+ : entry::AppI(_name, _description, _url)
{
}
@@ -238,15 +238,15 @@ public:
// Create static vertex buffer.
m_vbh = bgfx::createVertexBuffer(
bgfx::makeRef(s_cubeVertices, sizeof(s_cubeVertices) )
- , PosVertex::ms_decl
+ , PosVertex::ms_layout
);
m_ibh = bgfx::createIndexBuffer(bgfx::makeRef(s_cubeIndices, sizeof(s_cubeIndices) ) );
- s_albedo = bgfx::createUniform("s_albedo", bgfx::UniformType::Int1);
- s_tex = bgfx::createUniform("s_tex", bgfx::UniformType::Int1);
- s_depth = bgfx::createUniform("s_depth", bgfx::UniformType::Int1);
- s_light = bgfx::createUniform("s_light", bgfx::UniformType::Int1);
+ s_albedo = bgfx::createUniform("s_albedo", bgfx::UniformType::Sampler);
+ s_tex = bgfx::createUniform("s_tex", bgfx::UniformType::Sampler);
+ s_depth = bgfx::createUniform("s_depth", bgfx::UniformType::Sampler);
+ s_light = bgfx::createUniform("s_light", bgfx::UniformType::Sampler);
u_pixelSize = bgfx::createUniform("u_pixelSize", bgfx::UniformType::Vec4);
u_intensity = bgfx::createUniform("u_intensity", bgfx::UniformType::Vec4);
u_color = bgfx::createUniform("u_color", bgfx::UniformType::Vec4);
@@ -283,8 +283,7 @@ public:
cameraCreate();
- const float initialPos[3] = { 0.0f, 0.0f, -15.0f };
- cameraSetPosition(initialPos);
+ cameraSetPosition({ 0.0f, 0.0f, -15.0f });
cameraSetVerticalAngle(0.0f);
}
@@ -492,7 +491,9 @@ public:
const uint32_t kNum = 9;
const int kNumColors = 5;
const float color[4*kNumColors] =
- { // Palette: http://www.colourlovers.com/palette/3647908/RGB_Ice_Cream
+ { // Reference(s):
+ // - Palette
+ // https://web.archive.org/web/20180219034657/http://www.colourlovers.com/palette/3647908/RGB_Ice_Cream
0.847f*0.2f, 0.365f*0.2f, 0.408f*0.2f, 1.0f,
0.976f*0.2f, 0.827f*0.2f, 0.533f*0.2f, 1.0f,
0.533f*0.2f, 0.867f*0.2f, 0.741f*0.2f, 1.0f,
@@ -657,4 +658,9 @@ public:
} // namespace
-ENTRY_IMPLEMENT_MAIN(ExampleDeferred, "38-bloom", "Bloom.");
+ENTRY_IMPLEMENT_MAIN(
+ ExampleDeferred
+ , "38-bloom"
+ , "Bloom."
+ , "https://bkaradzic.github.io/bgfx/examples.html#bloom"
+ );