在orangepi-PC下使用pyopengl
在OrangePi-PC下安装显卡驱动以及opengl:
http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=53
在这个链接中说要:Copy Libs (libGLES* libGLES* LibUmp LibMali) to /usr/lib
但是在查找动态链接库的时候,orangepi会在/usr/lib/arm-linux-gnueabihf下查找动态库,请参考ldconfig的手册,或者是查看/etc/ld.so.conf.d下的文件
因此,我们需要拷贝 (libGLES* libGLES* LibUmp LibMali) 到 /usr/lib/arm-linux-gnueabihf 下
安装完成后即可使用opengl es以及egl的c接口进行开发
但是如果安装PyOpenGL:
http://pyopengl.sourceforge.net
在ubuntu下直接使用pip安装:
pip install PyOpenGL --user
pip install PyOpenGL-accelerate --user
在import OpenGL.GL或者import OpenGL.GLES2时会报错:
/home/orangepi/.local/lib/python2./site-packages/OpenGL/platform/glx.pyc in GL(self)
)
except OSError as err:
---> raise ImportError("Unable to load OpenGL library", *err.args)
@baseplatform.lazy_property
def GLU(self): ImportError: ('Unable to load OpenGL library', '/usr/lib/arm-linux-gnueabihf/GL: cannot read file data: Is a directory', 'GL', None)
这是由于OrangePi的mali驱动只提供了OpenGL ES接口,而PyOpenGL要求必须有GL接口。
修正这个问题需要更改PyOpenGL下的platform/glx.py文件(如果使用pip安装,并使用--user参数,则安装路径为:~/.local/lib/python2.7/site-packages/OpenGL/platform/glx.py), 做如下更改:
@baseplatform.lazy_property
def GL(self):
try:
return ctypesloader.loadLibrary(
ctypes.cdll,
'GL',
mode=ctypes.RTLD_GLOBAL
)
except OSError as err:
# -- raise ImportError("Unable to load OpenGL library", *err.args)
# ++ return None
return None
# GLX doesn't seem to have its own loadable module?
@baseplatform.lazy_property
# -- def GLX(self): return self.GL
# ++ def GLX(self): return self.GLES2
def GLX(self): return self.GLES2
@baseplatform.lazy_property
def GetCurrentContext( self ):
# -- return self.GL.glXGetCurrentContext
# ++ return None
return None
@baseplatform.lazy_property
def glGetError( self ):
# -- return self.GL.glGetError
# ++ return self.GLES2.glGetError
return self.GLES2.glGetError
这是在import OpenGL.GLES2即可成功
在orangepi-PC下使用pyopengl的更多相关文章
- Issue 6: 装机系列1,PC下windows系统安装指南
0.前言 接触电脑将近7年时间,多次说要写下这篇文章,一直未曾提笔,始终怕给人以误导.到如今,来来回回装系统的次数得超过百次了.本着不误导人的想法,本文试着总结一下装系统的基本方法和思路,但不会过多涉 ...
- PC下ubuntu查找PC串口并加入用户组
1. 查看ttyS0隶属的组:ls -l /dev/ttyS0 //发现隶属于dialout组 输出: crw-rw---- 1 root dialout 4, 64 9月 9 08:23 /d ...
- orange pi pc 体验(二)远程登录服务器
1.本人的板子是orangepi pc,安装的debian系统 2.启动完成后,默认可以用xshell登录板子的,使用nano更改/etc/apt/source.list root@OrangePI ...
- linux(TINY6410)下移植boa服务器
今天在tiny6410上移植了boa服务器,中间遇到了一些小问题.当时也及时解决了. 第一步:boa的编译 在www.boa.org下载Boa的压缩包 我这里用的是 boa-0.94.13.tar. ...
- Win7下安装配置gVim
本文根据vim官网的<Simple Steps to Help You Install gVim on Windows 7>[1]一文整理而成. 1. 下载gVim 在http://www ...
- PC上安装MAC X Lion
PC上安装MACXLion 网上关于如何在PC下安装MAC的文章已近不少了,但对于一些初学者在实践当中会遇到各种问题,以下视频资料为大家展示两种虚拟机安装MacOS. 1.VmwareWorkstat ...
- linux下编译运行驱动
linux下编译运行驱动 嵌入式linux下设备驱动的运行和linux x86 pc下运行设备驱动是类似的,由于手头没有嵌入式linux设备,先在vmware上的linux上学习驱动开发. 按照如下方 ...
- Linux下链接数据库图形化工具
(一).Linux环境下mysql的安装.SQL操作 Linux下安装MySQL (rmp --help) 基本步骤:上传软件->检查当前Linux环境是否已经安装,如发现系统自带的,先卸载-& ...
- IE下CSS3伪类的支持
当css3.0出现以后,着实让我兴奋了好久,因为出现了很多选择器,我们在也不用靠js做复杂判断了.比如:nth-child,很容易就可以判断奇偶对象 “:nth-child(2n)和:nth-chil ...
随机推荐
- Windows内核编程之:分页内存与非分页内存 #define PAGEDCODE code_seg("PAGE") (转)
原文链接:http://blog.chinaunix.net/uid-24504987-id-161192.html Windows规定有些虚拟内存可以交换到文件中,这类内存被称为分页内存 有些虚拟内 ...
- wuzhicms 自定义SQL 标签
{wz:sql sql="select * from wz_guestbook"} {loop $rs $r} {$r[title]} {/loop} {/wz} 自定义统计条数: ...
- uva 10652
大意:有n块矩形木板,你的任务是用一个面积尽量小的凸多边形把它们包起来,并计算出木板站整个包装面积的百分比. 思路:按照题意将所有矩形顶点坐标存起来,旋转时先旋转从中心出发的向量,求得各个坐标之后,求 ...
- 8.2 C++ AMP advanced concepts
C++ AMP一些更高级的概念: 1. device内存的分配和拷贝. void vecAdd(float* A, float* B, float* C, int n) { array<> ...
- HW7.1
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- SRM 599 DIV 2
rating又掉了...变灰色了%>_<%.250pt很简单,一眼看上去是个背包,没有多想立马写了个01背包,后面发现其实就是个简单的排序...因为只是需要求数量而已.500pt被我写残了 ...
- Android Binder------ServiceManager启动分析
ServiceManager启动分析 简述: ServiceManager是一个全局的manager.调用了Jni函数,实现addServicew getService checkService ...
- c功能实战
1,linux C连接ftp实现简单的上传下载; libcurl/libftp/busybox; oracle查看用户信息 1. 查询oracle中所有用户信息 select * from dba_u ...
- hdu3315-My Brute(费用流 or KM算法)
题目:My Brute Seaco是一个漂亮的妹子,喜欢玩一款名叫My Brute的游戏.情人节快到了,starvae和xingxing都想邀请妹子过节,但是妹子只能陪一个啊,于是两个人决定打一架,用 ...
- 【Stage3D学习笔记续】山寨Starling(十二):总结和一些没提到的东西
我们的山寨Starling到这里就告一段落了,不得不说这是一个非常优秀的2D框架,他的设计和架构为后来的许多框架都提供了很好的参考,比如现在正在崛起的Egret,我们的一番解读也只是窥见了Starli ...