openMSX
GLSnow.hh
Go to the documentation of this file.
1 #ifndef GLSNOW_HH
2 #define GLSNOW_HH
3 
4 #include "Layer.hh"
5 #include "GLUtil.hh"
6 
7 namespace openmsx {
8 
9 class Display;
10 
13 class GLSnow final : public Layer
14 {
15 public:
16  explicit GLSnow(Display& display);
17 
18  // Layer interface:
19  void paint(OutputSurface& output) override;
20 
21 private:
22  Display& display;
23  gl::VertexArray vao;
24  gl::BufferObject vbo[2];
25  gl::Texture noiseTexture;
26 };
27 
28 } // namespace openmsx
29 
30 #endif
openmsx::GLSnow::GLSnow
GLSnow(Display &display)
Definition: GLSnow.cc:13
gl::BufferObject
Definition: GLUtil.hh:431
gl::Texture
Most basic/generic texture: only contains a texture ID.
Definition: GLUtil.hh:35
openmsx::GLSnow::paint
void paint(OutputSurface &output) override
Paint this layer.
Definition: GLSnow.cc:45
Layer.hh
openmsx::Layer
Interface for display layers.
Definition: Layer.hh:11
openmsx::GLSnow
Snow effect for background layer.
Definition: GLSnow.hh:13
openmsx::Display
Represents the output window/screen of openMSX.
Definition: Display.hh:31
openmsx::OutputSurface
A frame buffer where pixels can be written to.
Definition: OutputSurface.hh:19
GLUtil.hh
gl::VertexArray
Definition: GLUtil.hh:452
openmsx
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5