• 大小: 5.87MB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2023-10-13
  • 语言: 其他
  • 标签: OpenGL  新手  TimerFunc  

资源简介

上学的assignment,新手适用,基本的画画~

资源截图

代码片段和文件信息

//
// Standard C++ headers used by this program
//
#include   // console I/O
#include    // file I/O
#include    // string streams

//
// Headers needed by OpenGL. The glew header must come first.
//
#include 
#include 

#define VA_POSITION     0
#define VA_COLOR        1
#define BUFFER_OFFSET(i) ((void*)(i))
#define GETRAND ((float)rand()/(float)RAND_MAX)

unsigned frameCount = 0;

float g_vertexData[] = {
          -0.4f -0.4f  0.0f 0.0f 0.0f
           0.4f -0.4f  0.0f 0.0f 0.0f
           0.0f  0.1f  0.0f 1.0f 0.0f

           -0.3f 0.0f  0.0f 0.0f 0.0f
           0.3f  0.0f  0.0f 0.0f 0.0f
           0.0f  0.4f  0.0f 1.0f 0.0f

           -0.2f 0.3f  0.0f 0.0f 0.0f
           0.2f  0.3f  0.0f 0.0f 0.0f
           0.0f  0.65f  0.0f 1.0f 0.0f

           -0.05f -0.4f  0.5f 0.25f 0.0f
           0.05f -0.4f   0.5f 0.25f 0.0f
           -0.05f -0.7f  0.0f 0.0f 0.0f
           0.05f -0.7f  0.0f 0.0f 0.0f

          -1.0f -0.7f  1.0f 1.0f 1.0f
           1.0f -0.7f  1.0f 1.0f 1.0f
          -1.0f -1.0f  0.5f 0.25f 0.0f
           1.0f -1.0f  0.5f 0.25f 0.0f


    };

float l_vertexData[] = {
          0.3f  0.55f  1.0f 0.65f 0.0f
          0.5f  0.7f   1.0f 1.0f 0.0f
          0.25f  0.7f  0.0f 1.0f 0.0f
          0.45f  0.55f  1.0f 0.0f 1.0f
          0.375f  0.775f 1.0f 0.0f 0.0f

};

unsigned short l_indexData[] = {

        0 1
        1 2
        2 3
        3 4
        4 0

};


float p_vertexData[] = {
        
        -0.4f -0.4f  1.0f 0.65f 0.0f
           0.4f -0.4f  1.0f 1.0f 0.0f
           0.0f -0.4f   1.0f 0.75f 0.8f

            -0.3f 0.0f  0.0f 1.0f 1.0f
           0.3f  0.0f  1.0f 0.0f 1.0f
           0.0f 0.0f  1.0f 1.0f 0.0f
       
            -0.2f 0.3f  1.0f 1.0f 1.0f
           0.2f  0.3f  0.2f 0.8f 0.2f
           0.0f  0.65f  1.0f 0.0f 0.0f
           0.0f 0.3f  0.0f 1.0f 0.0f
};

//
// Function prototypes. These tell the compiler that these function exist somewhere in the code.
//


// the function that initializes everything
bool Initialize(int argc char* argv[]);

// helper functions that initialize specific components
bool InitWindow(int argc char* argv[]);
bool InitExtensions();
bool InitGeometry();
bool InitShaders();
bool InitScene();

// callback functions that freeglut will call once it enters the main loop
void Resize(int w int h);
void Render();
void Cleanup();
void TimerFunction1(int Value);
void KeyPressed(unsigned char key int x int y);

// functions for cleaning up specific components
void DeleteGeometry();
void DeleteShaders();

// function that reads a text file and returns it as a string
std::string  ReadTextFile(std::string path);

// function that loads a shader from a 

评论

共有 条评论