linux opengl安装,linux模拟器安卓版

大家好,linux opengl安装相信很多的网友都不是很明白,包括linux模拟器安卓版也是一样,不过没有关系,接下来就来为大家分享关于linux opengl安装和linux模拟器安卓版的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

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.

opengl和opengL有什么区别

DirectX和OpenGL的区别:

1,速度上:

DirectX引擎:优点:极大程度的发挥电脑性能,模拟器更流畅,运行速度快。缺点:cpu使用率相对变高。适合单开用户。OpenGL引擎:优点:占用资源更少,适合多开用户。缺点:相对没有DX那么流畅。

2,兼容上:

DirectX引擎:性能好,兼容性差。OpenGL引擎:兼容性强,性能差。在DirectX在还有一个HEL功能,在它的帮助下可以用你机器中现成的硬件设备模拟成为其它的部件,比如显卡没有3D硬件加速功能,但是通过DirectX就可以将其模拟成为带有3D加速功能的显卡,这样在运行游戏的时候就能够获得额外的效果。

3,切换条件:

DirectX条件:系统需要安装DirectX11(win10系统自带DirectX12至少windows7以上可以使用),系统必须安装DirectX插件。OpenGL条件:如果个别提示OpenGL版本过低更新显卡驱动(前提是显卡支持OpenGL2.1以上标准)。

扩展资料:

OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。

但是,通过一些转换程序,可以很方便地将AutoCAD、3DS/3DSMAX等3D图形设计软件制作的DXF和3DS模型文件转换成OpenGL的顶点数组。

在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。

该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。

OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性;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运行结果

阅读剩余
THE END