【已解决】DQN报错:NameError: name ‘glPushMatrix‘ is not defined

article/2025/10/28 19:05:41

1、问题

pycharm在运行DQN平衡杆代码时报错:NameError: name ‘glPushMatrix’ is not defined。
画面只出现一个白色背景。
在这里插入图片描述

2、分析

pyglet版本过高,降低版本即可。

pip install pyglet==1.5.27

在这里插入图片描述

3、测试

没有报错,运行成功。
在这里插入图片描述
在这里插入图片描述

参考链接


http://chatgpt.dhexx.cn/article/s7VrKi59.shtml

相关文章

opengl glPushMatrix()

OpenGL有三个矩阵堆栈,分别是GL_MODELVIEW(模型视图矩阵堆栈)、GL_PROJECTION(投影矩阵堆栈)、GL_TEXTURE(纹理矩阵堆栈),用法和普通堆栈一样; 这里我们只讲模型视图矩阵…

解决:nameerror: name ‘glpushmatrix‘ is not defined

在尝试gym的render()时,出现错误: nameerror: name glpushmatrix is not defined最后解决的办法:更换pyglet包的版本 出现错误时的pyglet版本: 然后将版本更换为: 就可以使用env.render()啦!

NameError: name ‘glPushMatrix‘ is not defined

完整报错如下图所示: 问题原因:pyglet版本导致 我本地安装的pyglet版本是2.0.7改成,问题解决 pip install pyglet1.5.0

glPushMatrix()和glPopmatirx()

OpenGL有三个矩阵堆栈,分别是GL_MODELVIEW(模型视图矩阵堆栈)、GL_PROJECTION(投影矩阵堆栈)、GL_TEXTURE(纹理矩阵堆栈),用法和普通堆栈一样; 这里我们只讲模型视图矩阵…

OpenGL:glPushMatrix();和glPopMatrix();的作用及其原理分析

今天做到一道题,大致就是问glPushMatrix();和glPopMatrix();存在会对图形绘制造成什么影响,为了能够清晰的反应到底会存在什么影响,我特地写了两行代码: 代码①: void draw1() {//glClear(GL_COLOR_BUFFER_BIT); //注…

OpenGL的glPushMatrix和glPopMatrix矩阵栈顶操作函数

在之前的博客中,我就说过后面会详细讲解这两个函数。今天让我们来认识下它们(glPushMatrix和glPopMatrix函数)。 OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作…

SurfaceView、GLSurfaceView、SurfaceTexture、TextureView、SurfaceHolder、Surface

SurfaceView、GLSurfaceViewe\SurfaceTexture、TextureView、SurfaceHolder、Surface 一、简介 SurfaceTexture: SurfaceTexture是从Android3.0(API 11)加入的一个新类。这个类跟SurfaceView很像,可以从video decode里面获取图像流&#xff…

android之通过SurfaceView以及SurfaceHolder进行视频播放

使用AudioView进行视频播放的时候,是不是很不爽,千篇一律的模式,恶心吧。这里,我们可以通过一些方式对MediaPlayer进行包装。而所用到的正是SurfaceView以及SurfaceHolder。 最终效果图: 我们提供了四个按钮&#xff…

ANativeWindow 和 Surface

Android播放视频从解码到显示实质也是BufferQueue的生产消费的过程,如下图所示: 其中生产者是Surface,消费者是SurfaceFlinger。 本文主要针对Surface进行分析,理清ANativeWindow 和 Surface之间的关系。 ANativeWindow的定义如…

Android之Surface 与 SurfaceFlinger关系

通过前面的知识我们知道了,Android 系统从按下开机键到桌面,从桌面点击 App 图标到 Activity 显示的过程。但是 Activity 是怎么显示在屏幕上的呢?下面我们就来讨论下这一过程。 SurfaceFlinger 启动过程 SurfaceFlinger 进程是由 init 进程…

SurfaceView、SurfaceHolder与Surface

相关文章 SurfaceView、SurfaceHolder与SurfaceTextureView、SurfaceTexture与Surface 按照官方文档的说法,SurfaceView继承自View,并提供了一个独立的绘图层,你可以完全控制这个绘图层,比如说设定它的大小,所以Surf…

surfaceView、surface和sufaceHolder的关系

surfaceView、surface和sufaceHolder的关系 1.SurfaceView与Surface的联系2.SurfaceView3.Surface4.SurfaceHolder 1.SurfaceView与Surface的联系 简单来说,Surface是管理显示内容的数据(implementsParcelable),包括存储于数据的…

线程天敌TerminateThread与SuspendThread http://blog.csdn.net/magictong/article/details/6304439

线程天敌TerminateThread与SuspendThread 标签: thread null delete dll c user 2011-04-06 13:22 10295人阅读 评论(1) 收藏 举报 分类: C Win32(93) 版权声明:本文为博主原创文章,未经博主允许不得…

511遇见易语言API模块线程挂起(SuspendThread)

线程挂起用到的API是SuspendThread 511遇见易语言模块API教程 API 暂停指定的线程 函数功能: 挂起线程。 参数: 第1个参数: HANDLE hThread 线程句柄。 返回值: 成功:线程的前一个挂起数。 失败:-1。 …

面向对象设计6大原则

概览 单一职责 1、单一职责 Single Responsibility Principle,简称是SRP。SRP的英文定义是: There should never be more than one reason for a class to change. 翻译过来的意思是: 应该有且仅有一个原因引起类的变更。 或许我们可以…

带你了解面向对象的设计原则

##一 摘要 今天晚上给大家介绍一下面向对象的设计原则,为什么要介绍这个呢,原因很简单,大家平时所接触的语言,无论是object-C,C,JavaScrpt,C#等都是属于面向对象语言,既然是面向对象设计语言,那么就有必要去了解一下面向对象的设计原则.那么面向对象的设计原则有哪些呢?今天来…

面向对象七大设计原则

面向对象设计的七大原则 前言 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,我们能要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 面向对象设计原则概…

软件设计与体系——面向对象设计的原则

一:前言 用一道题熟悉OO设计与编程:给定一个4位数(数字不完全相同),这4个数字可以得到最大4位数和最小4位数,算它们的差,不是6174则重复上述过程,最终会得到6174,验证这…

面向对象设计七大原则

面向对象设计七大原则 1) 开-闭原则 (Open Closed Principle,OCP)定义开闭原则的作用实现方法例子其它例子代码 2) 里氏代换原则(Liskov Substitutiion Principle,LSP)定义作用实现方法例子 3) 依赖倒置原则…