aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/pbrrenderer2.hpp
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-10-26 18:59:06 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-10-26 18:59:06 +0200
commitcf965d29b9092ea6b56847028dc885b67b1603e0 (patch)
treedc2054210d903c5d629f0487e74a58e1b96958c3 /src/pbrrenderer2.hpp
parenta5082d2962d621dc7145614d655016c59ddacc5b (diff)
some renames for c++HEADmasterdevel
Diffstat (limited to 'src/pbrrenderer2.hpp')
-rw-r--r--src/pbrrenderer2.hpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/pbrrenderer2.hpp b/src/pbrrenderer2.hpp
new file mode 100644
index 0000000..1124737
--- /dev/null
+++ b/src/pbrrenderer2.hpp
@@ -0,0 +1,50 @@
+#pragma once
+
+#include "vke.hpp"
+#include "vkrenderer.hpp"
+#include "texture.hpp"
+#include "VulkanglTFModel.hpp"
+
+
+class pbrRenderer : public vke::vkRenderer
+{
+ void generateBRDFLUT();
+ void generateCubemaps();
+protected:
+ virtual void configurePipelineLayout();
+ virtual void loadRessources();
+ virtual void freeRessources();
+ virtual void prepareDescriptors();
+ virtual void preparePipeline();
+public:
+ struct Pipelines {
+ VkPipeline skybox;
+ VkPipeline pbr;
+ VkPipeline pbrAlphaBlend;
+ } pipelines;
+
+ VkDescriptorSet dsScene;
+
+ struct Textures {
+ vke::TextureCubeMap environmentCube;
+ vke::Texture2D lutBrdf;
+ vke::TextureCubeMap irradianceCube;
+ vke::TextureCubeMap prefilteredCube;
+ } textures;
+
+ vkglTF::Model skybox;
+ std::vector<vkglTF::Model> models;
+
+ pbrRenderer ();
+ virtual ~pbrRenderer();
+
+ virtual void destroy();
+
+ void renderPrimitive(vkglTF::Primitive &primitive, VkCommandBuffer commandBuffer);
+
+ void prepareModels();
+
+ virtual void draw(VkCommandBuffer cmdBuff);
+
+
+};