]> git.tdb.fi Git - libs/gl.git/blobdiff - source/program.h
Improve interface documentation a bit
[libs/gl.git] / source / program.h
index 642bcf5e7755652734069e33d9df182a0e2fad96..e78c8ccd0bfef96d0da006827bd6e22dee527973 100644 (file)
@@ -7,12 +7,17 @@
 #include "bindable.h"
 #include "gl.h"
 #include "programbuilder.h"
+#include "vertexformat.h"
 
 namespace Msp {
 namespace GL {
 
 class Shader;
 
+/**
+A complete shader program.  Programs can be assembled of individual Shaders or
+generated with a set of standard features.
+*/
 class Program: public Bindable<Program>
 {
 public:
@@ -67,9 +72,15 @@ private:
        bool legacy_vars;
 
 public:
+       /// Constructs an empty Program with no Shaders attached.
        Program();
+
+       /// Constructs a Program with standard features.
        Program(const ProgramBuilder::StandardFeatures &);
+
+       /// Constructs a Program from vertex and fragment shader source code.
        Program(const std::string &, const std::string &);
+
 private:
        void init();
 public:
@@ -81,6 +92,7 @@ public:
        const ShaderList &get_shaders() const { return shaders; }
 
        void bind_attribute(unsigned, const std::string &);
+       void bind_attribute(VertexComponent, const std::string &);
        void bind_fragment_data(unsigned, const std::string &);
 
        void link();