c_cpp openFrameworks内联着色器模板(仅限vert和frag)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp openFrameworks内联着色器模板(仅限vert和frag)相关的知识,希望对你有一定的参考价值。

#pragma once
#include "ofMain.h"

#define STRINGIFY(A) #A

class Shader{
public:
    string gl2VertShader;
    string gl2FragShader;
    
    string gl3VertShader;
    string gl3FragShader;
    
    Shader(){
        gl2VertShader = "#version 120\n";
        gl2VertShader += STRINGIFY(
          
          // vertex shader.
          
          );
          
        gl2FragShader = "#version 120\n";
        gl2FragShader += STRINGIFY(
          
          // fragment shader.
          
          );
      
        gl3VertShader = "#version 150\n";
        gl3VertShader += STRINGIFY(
          
          // vertex shader.
          
          );
        
        gl3FragShader = "#version 150\n";
        gl3FragShader += STRINGIFY(
          
          // fragment shader.
          
          );
          
        
    }
};
if(ofIsGLProgrammableRenderer()){
  shader.setupShaderFromSource(GL_VERTEX_SHADER, Shader.gl3VertShader);
  shader.setupShaderFromSource(GL_FRAGMENT_SHADER, Shader.gl3FragShader);
  shader.bindDefaults();
  shader.linkProgram();
}else{
  shader.setupShaderFromSource(GL_VERTEX_SHADER, Shader.gl2VertShader);
  shader.setupShaderFromSource(GL_FRAGMENT_SHADER, Shader.gl2FragShader);
  shader.linkProgram();
}

以上是关于c_cpp openFrameworks内联着色器模板(仅限vert和frag)的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 一个加载着色器文件,编译和链接到着色器程序的函数。

c_cpp openFrameworks ofxPBR ofApp文件

c_cpp 在openFrameworks中找到单应性

c_cpp 加载GLSL着色器

c_cpp openFrameworks - 使用ofFmodSoundPlayer从audioPlayer获取原始音频帧

c_cpp 着色器 - Vertexbuffer无法正常工作