// img must be HDR
Skybox(const Image img);
void draw(glm::mat4 proj, glm::mat4 view) const;
- GLuint getTexture() const;
+ GLuint getTexture() const { return cubemapTexId; }
+ GLuint getIrradianceMap() const { return irradianceTexId; }
+ GLuint getPrefilterMap() const { return prefilterTexId; }
+ GLuint getBRDFMap() const { return brdfMapTexId; }
private:
- GLuint texId, vao;
+ GLuint hdrTexId, cubemapTexId, irradianceTexId, prefilterTexId, brdfMapTexId;
+ GLuint captureFBO, captureRBO;
+ GLuint vao;
const Program program;
+ void generatePrefilterMap() const;
+ void generateBRDFMap() const;
};
#endif