⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 GLSL tutorial with sourcecode
💻 CPP
字号:
// ****************************************************
// Simple program to test GLSL Shaders
//
// This Program shows how to load a Shader from memory
//
// Implement the functions:
//        AppInit() to initialize                  
//        AppExit() to clean up
// and    DrawFrame() to draw one frame
// ****************************************************

#include "../cwc/aGLSL.h"
#include <GL/glut.h>
#include <GL/gl.h>

aShaderManager  shadermanager;
aShaderObject*  shader;

static const char* myVertexShader =                      
"void main(void)                                     \n"
"{                                                   \n"
"	vec4 a = vec4(1.0,0.5,1.0,1.0) * gl_Vertex;      \n"
"	gl_Position = gl_ModelViewProjectionMatrix * a;  \n"
"}                                                   \n\0";

static const char* myFragmentShader =                      
"void main (void)                                    \n"
"{                                                   \n"
"	gl_FragColor = vec4 (0.0, 1.0, 0.0, 1.0);        \n"
"}                                                   \n\0";

//*************************************************************
// at the time of App init, glut is already initialized
// and standard OpenGL settings are done. You could test
// extensions etc now!

void AppInit(void)
{ 
  shader = shadermanager.loadfromMemory(myVertexShader,myFragmentShader);

  if (shader==0)
  {
      std::cout << "error: can't init shader!\n";
      exit(-1);
  }

  //shader = shadermanager.loadfromFile("test.vert","test.frag"); 
}

//*************************************************************
//Draw one Frame (don't Swap Buffers)
void DrawFrame(void)
{
    shader->begin();
    glutSolidTeapot(1.5);
    shader->end();
}


//*************************************************************
// use App Exit to clean up
void AppExit(void)
{

}

//*************************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -