linux终端opengl,Ubuntu安装OpenGL开发环境

apt安装链接库

sudo apt-get install build-essential libgl1-mesa-dev

sudo apt-get install freeglut3-dev

sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev

使用OpenGL

编写一个简单的使用OpenGL库的cpp文件只需要# include

# include

# include

/* 初始化材料属性、光源属性、光照模型,打开深度缓冲区 */

void init ( void )

{

GLfloat mat_specular [ ] = { 1.0, 1.0, 1.0, 1.0 };

GLfloat mat_shininess [ ] = { 50.0 };

GLfloat light_position [ ] = { 1.0, 1.0, 1.0, 0.0 };

glClearColor ( 0.0, 0.0, 0.0, 0.0 );

glShadeModel ( GL_SMOOTH );

glMaterialfv ( GL_FRONT, GL_SPECULAR, mat_specular);

glMaterialfv ( GL_FRONT, GL_SHININESS, mat_shininess);

glLightfv ( GL_LIGHT0, GL_POSITION, light_position);

glEnable (GL_LIGHTING);

glEnable (GL_LIGHT0);

glEnable (GL_DEPTH_TEST);

}

/*调用GLUT函数,绘制一个球*/

void display ( void )

{

glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glutSolidSphere (1.0, 40, 50);

glFlush ();

}

int main(int argc, char** argv)

{

/* GLUT环境初始化*/

glutInit (&argc, argv);

/* 显示模式初始化 */

glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);

/* 定义窗口大小 */

glutInitWindowSize (300, 300);

/* 定义窗口位置 */

glutInitWindowPosition (100, 100);

/* 显示窗口,窗口标题为执行函数名 */

glutCreateWindow ( argv [ 0 ] );

/* 调用OpenGL初始化函数 */

init ( );

/* 注册OpenGL绘图函数 */

glutDisplayFunc ( display );

// /* 进入GLUT消息循环,开始执行程序 */

glutMainLoop( );

return 0;

}

保存为test.cpp

在终端编译

g++ test.cpp -o test -lgl -lglut

后面的-l命令过去很少用,因为没有用过动态库。-l+动态库名,表示链接时链接该库,相当于添加dll

-lgl 就是链接到gl库

-lglut就是链接到glut库

就可以执行了

配置IDE

在 CLion 中新建一个工程,并将刚才写好的代码复制到main.cpp中

编辑 CMakeLists.txt,添加链接库。

make_minimum_required(VERSION 3.6)

project(HelloOpenGL)

set(CMAKE_CXX_STANDARD 11)

set(SOURCE_FILES main.cpp)

set(TARGET_LIB

"/usr/lib/x86_64-linux-gnu/libGL.so"

"/usr/lib/x86_64-linux-gnu/libGLU.so"

"/usr/lib/x86_64-linux-gnu/libglut.so"

)

add_executable(HelloOpenGL ${SOURCE_FILES})

target_link_libraries(HelloOpenGL ${TARGET_LIB})

配置运行设置,运行程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值