]> git.tdb.fi Git - libs/gl.git/commitdiff
Comments and cosmetic cleanups
authorMikko Rasa <tdb@tdb.fi>
Sat, 3 Apr 2021 19:56:09 +0000 (22:56 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sat, 3 Apr 2021 21:33:21 +0000 (00:33 +0300)
12 files changed:
shaderlib/cooktorrance.glsl
source/core/datatype.h
source/core/module.cpp
source/core/vertexarray.cpp
source/effects/environmentmap.h
source/effects/shadowmap.h
source/glsl/builtin.cpp
source/glsl/finalize.h
source/glsl/reflect.h
source/glsl/validate.h
source/render/objectinstance.h
source/render/programdata.h

index 33035ee3fa03a0b5b703ef692e710baeac336f5f..d834cee462d429ca2d439107caca5ad3e1c55c8d 100644 (file)
@@ -86,7 +86,8 @@ float normal_distribution_ggxtr(vec3 normal, vec3 halfway, float roughness)
        float rough_q = roughness * roughness;
        rough_q *= rough_q;
        float denom = n_dot_h*n_dot_h*(rough_q-1)+1;
-       // Scale by pi to get a result per steradian, suitable for integration
+       /* Scale by pi to normalize the total area of the microfacets as projected
+       to the macrosurface */
        return rough_q/(PI*denom*denom);
 }
 
index 6bc085276c05f3b05c83708df45a4be74b01ffa0..c7ee2841bded09cd4e23e5c1414c6695db25dc67 100644 (file)
@@ -91,8 +91,8 @@ enum DataType
 };
 
 inline unsigned get_type_size(DataType t) { return t&0xFF; }
-inline bool is_matrix(DataType t) { return (t>>14)&3; }
-inline bool is_vector(DataType t) { return !is_matrix(t) && ((t>>12)&3); }
+inline bool is_matrix(DataType t) { return t&0xC000; }
+inline bool is_vector(DataType t) { return !is_matrix(t) && (t&0x3000); }
 
 GLenum get_gl_type(DataType);
 DataType from_gl_type(GLenum);
index 5287ae9c2ec369bbdfcf80242c738e4e2fdc75cf..374ef8ae4d71537fcfa36b37cdba910e63b7faf9 100644 (file)
@@ -70,6 +70,7 @@ void GlslModule::compile(SL::Compiler &compiler)
        compiler.compile(SL::Compiler::MODULE);
        prepared_source = compiler.get_combined_glsl();
        source_map = compiler.get_source_map();
+
 #ifdef DEBUG
        string diagnostics = compiler.get_diagnostics();
        if(!diagnostics.empty())
index 67a90ef7e2ea6810de672903d64a44674d35fe67..da868c7963f83a81efed4b08bdb10cb118cf7c80 100644 (file)
@@ -85,6 +85,7 @@ VertexArray::Loader::Loader(VertexArray &a):
        add("weight", static_cast<void (Loader::*)(float, float, float)>(&Loader::weight));
        add("weight", static_cast<void (Loader::*)(float, float, float, float)>(&Loader::weight));
 
+       // Deprecated
        add("vertex2",   static_cast<void (Loader::*)(float, float)>(&Loader::vertex));
        add("vertex3",   static_cast<void (Loader::*)(float, float, float)>(&Loader::vertex));
        add("vertex4",   static_cast<void (Loader::*)(float, float, float, float)>(&Loader::vertex));
index 1aaa26b7e68f425b29a4fe7f2e3a442cd9792eb6..db97d1d80040a3c9749129e076789ef8c9efc9fd 100644 (file)
@@ -13,7 +13,6 @@
 namespace Msp {
 namespace GL {
 
-class Renderable;
 class Resources;
 
 /**
index 7dab9eb965a6e9266156437741bc40854133c37e..5f6c5c15e3822cf80df88b3d3b2ae9378ebc5e12 100644 (file)
@@ -12,10 +12,9 @@ namespace GL {
 
 class Light;
 class Resources;
-class Scene;
 
 /**
-Creates shadows on a Scene through a shadow map texture.  In the preparation
+Creates shadows on a renderable through a shadow map texture.  In the setup
 phase, the scene is rendered to a depth texture from the point of view of the
 lightsource.  This texture is then used in the rendering phase together with
 texture coordinate generation to determine whether each fragment is lit.
index 9e0244df1cbd71efe3acb6c915fdda33d8e7ea64..f60d2a8a1d0736ff9d2d171b1a583fd39bedc879 100644 (file)
@@ -2,7 +2,6 @@
 #include <msp/io/seekable.h>
 #include "builtin.h"
 #include "parser.h"
-#include "visitor.h"
 
 using namespace std;
 
index 3db581be732cd3c5ea7e0b40fce67498db9e1e45..0638026dba207f2e7d48a209d2a2f3d6ea49c11c 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef MSP_GL_SL_COMPATIBILITY_H_
-#define MSP_GL_SL_COMPATIBILITY_H_
+#ifndef MSP_GL_SL_FINALIZE_H_
+#define MSP_GL_SL_FINALIZE_H_
 
 #include <string>
 #include "visitor.h"
@@ -8,6 +8,8 @@ namespace Msp {
 namespace GL {
 namespace SL {
 
+/** Assigns location and binding layout qualifiers to interface variables and
+blocks. */
 class LocationAllocator: private TraversingVisitor
 {
 private:
index c03a5ccbd8b57044db6b28355863bac292c47a75..a48ad53f8cfa9b960665af6a61cd66e2a475d686 100644 (file)
@@ -7,6 +7,7 @@ namespace Msp {
 namespace GL {
 namespace SL {
 
+/** Determines the number of interface locations required by a variable. */
 class LocationCounter: private NodeVisitor
 {
 private:
index acb5b4e4086810972263a03ad5f2cb065fc205d1..7f8339f678adf71e17418ee26eff983f9c36fc23 100644 (file)
@@ -10,6 +10,8 @@ namespace Msp {
 namespace GL {
 namespace SL {
 
+/** Base class for validators.  Contains some utilities for adding diagnostic
+messages. */
 class Validator: protected TraversingVisitor
 {
 protected:
@@ -24,6 +26,7 @@ protected:
        void add_info(Node &, const std::string &);
 };
 
+/** Verifies that declarations are valid in isolation. */
 class DeclarationValidator: private Validator
 {
 private:
@@ -59,6 +62,8 @@ private:
        virtual void visit(FunctionDeclaration &);
 };
 
+/** Verifies that identifiers are unique or, in the case of functions, are
+overloaded only in valid ways. */
 class IdentifierValidator: private Validator
 {
 private:
@@ -89,6 +94,7 @@ private:
        virtual void visit(FunctionDeclaration &);
 };
 
+/** Verifies that there are no unresolved references. */
 class ReferenceValidator: private Validator
 {
 public:
@@ -106,6 +112,8 @@ private:
        virtual void visit(FunctionDeclaration &);
 };
 
+/** Verifies that expressions are valid.  In most cases an invalid expression
+is indicated by a null result type. */
 class ExpressionValidator: private Validator
 {
 private:
@@ -127,6 +135,9 @@ private:
        virtual void visit(Return &);
 };
 
+/** Verifies that stage input and output interfaces are valid.  Linked
+variables must have matching types and locations and there must not be any
+overlap in locations. */
 class StageInterfaceValidator: private Validator
 {
 private:
@@ -142,6 +153,8 @@ private:
        virtual void visit(FunctionDeclaration &) { }
 };
 
+/** Verifies that uniform interfaces are valid across the entire module.
+Variables declared with the same binding must have the same name and type. */
 class GlobalInterfaceValidator: private Validator
 {
 private:
index 0ebef2fedf30012e8db4d8bf3b228693b3d1ecfc..4d3e858b75e0915fe106ce320309855cca778154 100644 (file)
@@ -12,9 +12,6 @@ namespace GL {
 Represents a single instance of an Object.  Thanks to being derived from
 Placeable in can be positioned without additional effort.  Other instance
 parameters can be set by overriding the hook functions.
-
-ObjectInstances can benefit from being put in an InstanceScene, which will
-render all instances of the same object consecutively.
 */
 class ObjectInstance: public PlacedRenderable
 {
index e96a73acc651ba8ec9a1ab2b3af1cf77f337c4bc..c772272edd9f7a0dc2d04e5fd475bf5511bc89f7 100644 (file)
@@ -158,7 +158,7 @@ private:
        mutable ProgramMap programs;
        mutable UniformBlock *last_block;
        mutable Buffer *buffer;
-       mutable unsigned dirty;
+       mutable Mask dirty;
 
 public:
        ProgramData(const Program * = 0);