Clion + glew + freeglut + mingwを構築するためのOpenGL学習環境

序文

glew + freeglutは比較的古いOpenGL学習の組み合わせです。教師の教科書は依然としてglutの窓です。
新しい方はglfw + gladの設定です。これははるかに快適です!アドレス構成を構成する
ようにglad + glfw
glad + glfwも構成しましたが、これらの2つのセットを使用する場所によっては、まだいくつかのギャップがあります!

1.ライブラリをダウンロード

また、プリコンパイルダウンロードすることができ、独自のソースコードをコンパイルすることができます
GLEWライブラリ をダウンロードする公式サイトを
バイナリバージョンダウンロードする
ここに画像の説明を挿入
freeglutライブラリ のダウンロードに公式サイトを
ここに画像の説明を挿入

コンパイルされたすべてをダウンロードしました

自分でコンパイルする必要はありません!
ダウンロードした2つのファイルは、解凍後に次の図のようになります。
ここに画像の説明を挿入
ここに画像の説明を挿入

2.設定

ClionのCmakelistの構成は次のとおりです。

cmake_minimum_required(VERSION 3.15)
project(Graph)

set(CMAKE_CXX_STANDARD 14)
# 路径自己替换

link_directories("F:/freeglut/lib/x64")
link_directories("F:/glew-2.1.0/lib/Release/x64")

#文件头
include_directories("F:/freeglut/include")
include_directories("F:/glew-2.1.0/include")



add_executable(Graph main.cpp)
# 这句话重要,一点要先衔接opengl32库才能用! opengl32.lib或者libopengl32.a都可以
target_link_libraries(Graph libopengl32.a  libfreeglut.a glew32.lib)

ここに画像の説明を挿入

3.テスト実行

ここに三角形を描く

#include<gl/glew.h>
#include<gl/freeglut.h>
#include<iostream>

using namespace std;

//改变窗口大小
void changeViewport(int w, int h)
{
    glViewport(0, 0, w, h);
}

//渲染一个三角形
void render()
{
    glClear(GL_COLOR_BUFFER_BIT);// 线形
    glBegin(GL_TRIANGLE_STRIP);
    {
        glVertex2f(-0.8,-0.8);
        glVertex2f(0.8,-0.8);
        glVertex2f(0,0.8);
    }
    glEnd();
    glutSwapBuffers();
}

int main(int argc,char** argv)
{
    //初始化
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
    glutInitWindowSize(800, 600);
    glutCreateWindow("HelloWord");
    glutReshapeFunc(changeViewport);
    glutDisplayFunc(render);
    // 测试glew
    GLenum error = glewInit();
    if (error!=GLEW_OK)
    {
        printf("GLEW CREATE ERROR");
        return -1;
    }
    glutMainLoop();
    return 0;
}

完成品は以下の通りです

ここに画像の説明を挿入

元の記事を22件公開 Likes2 Visits 881

おすすめ

転載: blog.csdn.net/weixin_41685373/article/details/104575908