linux 安装opengl(opengl开发环境搭建)
大家好,感谢邀请,今天来为大家分享一下linux 安装opengl的问题,以及和opengl开发环境搭建的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
如何在Linux下使用OpenGL+ C++开发
前提是:
1.配置好了Ubuntu下的c++环境,gcc以及g++可用。
2.使用eclipse for c+做OpenGL开发
步骤一:
在ubuntu终端下运行以下命令,安装opengl所需要的库文件
$ sudo apt-get install build-essential
$ sudo apt-get install freeglut3-dev
步骤二:
运行一下opengl实例,测试配置的环境是否安装成功
在eclipse下新建一个工程文件,假设我们命名为Test,在工程Test里面新建一个C++源代码文件,这里我们把它命名为main.cpp,在main.cpp文件中打入一下代码
#include<GL/glut.h>
voidinit();
voiddisplay();
intmain(intargc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
glutInitWindowPosition(0,0);
glutInitWindowSize(300,300);
glutCreateWindow("OpenGL3DView");
init();
glutDisplayFunc(display);
glutMainLoop();
return0;
}
voidinit()
{
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-5,5,-5,5,5,15);
glMatrixMode(GL_MODELVIEW);
gluLookAt(0,0,10,0,0,0,0,1,0);
}
voiddisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0,0);
glutWireTeapot(3);
glFlush();
}
右击工程文件名
Test->点击属性(Properties)->C/C++Bulid->Settings->GCC C++Linker->Libraries,
在这个窗口中添加几个个库,
分别为GLU,glut,GL,
点击OK。
如果还想使用opencv,
在这里还加入cv,cxcore,highgui等库文件,
根据自己的需要来定
同时在GCC C++ Compiler->Includes下的incudepath中添加路径/usr/include/GL
如果还想使用opencv中的库,那么加入opencv的路径,一般是/usr/include/opencv
运行以上程序,会显示一个茶壶形状的opengl运行结果
如何开启Ubuntu14.04客户机内的OpenGL3.3支持
ubuntu系统是以桌面应用为主的linux系统,现在越来越流行了。下面介绍在Ubuntu下开发OpenGL环境的配置。
在Ubuntu下安装OpenGL环境
1,安装
测试环境
2,安装:EclipseIDEforC/C++LinuxDevelopers
3,新建:项目和代码
4,设置OpenGL项目属性
5,编译文件,右键项目,BuildProject
6,运行成功
选择驱动:查看自己的Ubuntu显卡所支持的(以及显卡驱动所支持的)OpenGL版本。
Ubuntu 12.04 下安装 openGL 驱动时,究竟做了什么事
Ubuntu下安装 openGL驱动的确把我折腾惨了
本人机器是 HP的使用 i5的集成显卡
下载了 intel的 installer(intel-linux-graphics-installer_1.0.1_amd64.deb),他们不支持Ubuntu 12.04,只支持 13.x
找了个 ATI x1300的老显卡,官方的驱动(ati-driver-installer-9-3-x86.x86_64.run)只支持了 Ubuntu 8.x 9.x(让我深感,计算机真是消费品,过时了就用不起来了)
只好买了一个 Nvidia GT610显卡,下载官方的 NVIDIA-Linux-x86_64-331.49.run,顺利装上了
这驱动做了如下的事情:
1)把驱动装到 Kernel中(我升级了 Kernel,又了重装驱动)
2)把/usr/lib/libGL.so替换为 Nvidia的(用 ldd看就知道了),当然要把nvidia自己的 so也copy到,这几个目录
[html] view plaincopy在CODE上查看代码片派生到我的代码片
ldd/usr/lib/libGL.so
linux-vdso.so.1=>(0x00007fffe91ff000)
libnvidia-tls.so.331.49=>/usr/lib/tls/libnvidia-tls.so.331.49(0x00007fa1a58c0000)
libnvidia-glcore.so.331.49=>/usr/lib/libnvidia-glcore.so.331.49(0x00007fa1a30b1000)
libX11.so.6=>/usr/lib/x86_64-linux-gnu/libX11.so.6(0x00007fa1a2d7b000)
libXext.so.6=>/usr/lib/x86_64-linux-gnu/libXext.so.6(0x00007fa1a2b6a000)
libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007fa1a27aa000)
libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007fa1a25a5000)
libm.so.6=>/lib/x86_64-linux-gnu/libm.so.6(0x00007fa1a22a9000)
libxcb.so.1=>/usr/lib/x86_64-linux-gnu/libxcb.so.1(0x00007fa1a208b000)
/lib64/ld-linux-x86-64.so.2(0x00007fa1a5e15000)
libXau.so.6=>/usr/lib/x86_64-linux-gnu/libXau.so.6(0x00007fa1a1e87000)
libXdmcp.so.6=>/usr/lib/x86_64-linux-gnu/libXdmcp.so.6(0x00007fa1a1c81000)
对于 i386的支持库,放在/usr/lib32中
[html] view plaincopy在CODE上查看代码片派生到我的代码片
ldd/usr/lib32/libGL.so
linux-gate.so.1=>(0xf7718000)
libnvidia-tls.so.331.49=>/usr/lib32/tls/libnvidia-tls.so.331.49(0xf75f1000)
libnvidia-glcore.so.331.49=>/usr/lib32/libnvidia-glcore.so.331.49(0xf53ac000)
libX11.so.6=>/usr/lib/i386-linux-gnu/libX11.so.6(0xf5277000)
libXext.so.6=>/usr/lib/i386-linux-gnu/libXext.so.6(0xf5265000)
libc.so.6=>/lib/i386-linux-gnu/libc.so.6(0xf50bb000)
libdl.so.2=>/lib/i386-linux-gnu/libdl.so.2(0xf50b6000)
libm.so.6=>/lib/i386-linux-gnu/libm.so.6(0xf508a000)
libxcb.so.1=>/usr/lib/i386-linux-gnu/libxcb.so.1(0xf5068000)
/lib/ld-linux.so.2(0xf7719000)
libXau.so.6=>/usr/lib/i386-linux-gnu/libXau.so.6(0xf5064000)
libXdmcp.so.6=>/usr/lib/i386-linux-gnu/libXdmcp.so.6(0xf505d000)
开发 Android时使用, Android使用 i386是从/usr/lib/i386-linux-gnu装载
所以要把 lib32中所有文件复制到/usr/lib/i386-linux-gnu
3) Xorg相关
Xorg是开源的 Xserver实现
nvidia要与Xorg集成的库,放在usr/lib/xorg/modules下面,并改下/etc/X11下面的东西
xorg.conf
让 Xorg加载 so
[html] view plaincopy在CODE上查看代码片派生到我的代码片
Section"Module"
Load"record"
Load"extmod"
Load"dbe"
Load"dri2"
Load"glx"
EndSection
装载/usr/lib/xorg/modules/extensions/下面的 libglx.so, libdri2.so等
让 Xorg加载 nvida驱动
[html] view plaincopy在CODE上查看代码片派生到我的代码片
Section"Device"
Identifier"Card0"
Driver"nvidia"
BusID"PCI:1:0:0"
EndSection
附带转帖
Ubuntu通过重新生成/etc/X11/xorg.conf文件来调整分辨率
1. Ctrl+Alt+F1, sudo service gdm stop
2. sudo Xorg-configure(生成文件~/xorg.conf.new)
3. sudo service gdm start
4. mv~/xorg.conf.new/etc/X11/xorg.conf
5. gtf 1280 1024 60-x
6.然后将上一步中gtf命令生成的内容:
Modeline"1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060-HSync+Vsync
插入到/etc/X11/xorg.conf中:
Section"Monitor"
Identifier"Monitor0"
VendorName"Monitor Vendor"
ModelName"Monitor Model"
Modeline"1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060-HSync+Vsync
EndSection
重新启动X。搞定。
如果不想生成xorg.conf文件,并且只想临时的调整分辨率,那么可以按照如下方法实现:
cvt 1280 1024
sudo xrandr--newmode"1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063-hsync+vsync
sudo xrandr--addmode VGA1"1280x1024_60.00"
sudo xrandr--output VGA1--mode"1280x1024_60.00"
就可以临时的调整分辨率到1280x1024.