~james-gangur/sqee/trunk

« back to all changes in this revision

Viewing changes to tests/rpg/rndr/Lighting.hpp

  • Committer: james.gangur at gmail
  • Date: 2015-10-13 02:55:15 UTC
  • Revision ID: james.gangur@gmail.com-20151013025515-uj2rnpflxeyt6csf
Refactored Texture objects:
 - format, iFormat and preset are now passed to the ctor
 - allocate_storage is now responsible for setting up the texture
 - added a delete_object method, for saving video memory
 - allocate_storage now takes a mipmaps argument
 - buffer_memory now takes a data type argument
 - removed the mutable textures entirely
Refactored sq::Settings:
 - Settings are now stored in Boxed_Value objects, making supporting new types easier
 - Added Boxed_Value versions of the mod/get functions for use with chaiscript
All texture members are now stored as value types, rather than unique_ptrs
Refactored chaiscript files. More consistent and improved compile times.
Moved RPG's SkyBox, Ambient and Skylight objects into their own files
Tidied up most of the wcoe objects regarding direct state access
For rpg Object derived classes, prefer using value members over unique_ptrs
Fixed reflections, added new Reflects object to Renderer

Particles still need to be fixed

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
 
14
14
class Lighting final : NonCopyable {
15
15
friend class Pretties;
 
16
friend class Reflects;
16
17
public:
17
18
    Lighting(const Renderer& _renderer);
18
19
 
29
30
    void render_skybox_refl();
30
31
    void render_ambient_refl();
31
32
    void render_skylight_refl();
32
 
    void render_spotlights_refl();
33
 
    void render_pointlights_refl();
 
33
    void render_spotlights_refl(const ReflectorData& _data);
 
34
    void render_pointlights_refl(const ReflectorData& _data);
34
35
 
35
36
private:
36
37
    const Renderer& renderer;
37
38
 
38
39
    sq::FrameBuffer FB_baseHdr;
 
40
    sq::FrameBuffer FB_reflHdr;
39
41
 
40
 
    unique_ptr<sq::Texture2D> TEX_baseHdr;
 
42
    sq::Texture2D TEX_baseHdr {gl::RGB, gl::RGB16F, sq::Texture::LinearClamp()};
 
43
    sq::Texture2D TEX_reflHdr {gl::RGB, gl::RGB16F, sq::Texture::LinearClamp()};
41
44
 
42
45
    sq::Shader VS_defr_base_skybox {gl::VERTEX_SHADER};
43
46
    sq::Shader FS_defr_base_ambient {gl::FRAGMENT_SHADER};