
.. _program_listing_file_Src_GraphicsEngineOpenGL_scene_shadows_ShadowMap.ixx:

Program Listing for File ShadowMap.ixx
======================================

|exhale_lsh| :ref:`Return to documentation for file <file_Src_GraphicsEngineOpenGL_scene_shadows_ShadowMap.ixx>` (``Src/GraphicsEngineOpenGL/scene/shadows/ShadowMap.ixx``)

.. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS

.. code-block:: cpp

   module;
   #include <glad/glad.h>
   
   export module kataglyphis.opengl.shadows.shadow_map;
   
   export class ShadowMap
   {
     public:
       ShadowMap();
   
       virtual bool init(GLuint width, GLuint height);
       virtual void write();
       virtual void read(GLenum texture_unit);
   
       GLuint get_shadow_width() const { return shadow_width; };
       GLuint get_shadow_height() const { return shadow_height; };
       GLuint get_id() const { return shadow_map; };
   
       virtual ~ShadowMap();
   
     protected:
       GLuint FBO, shadow_map;
       GLuint shadow_width, shadow_height;
   };
