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无法正常工作