1.PS2X2模拟器怎么用 PCSX2模拟器使用详细文教程
2.用Python和OpenGL探索数据可视化(基础篇)- 你好,纹理纹理!贴图图源
3.用Python和OpenGL探索数据可视化(基础篇)- 完善pygl增加OpenGL二维纹理对象
PS2X2模拟器怎么用 PCSX2模拟器使用详细文教程
玩过PS2的人想必不少,没玩过PS2的什纹人应该也对PS2上的海量游戏有所耳闻。PS2平台上的理贴游戏涵盖了角色扮演、体育、纹理有溯源码的大米格斗、贴图图源文字冒险等类型,源码意思不少游戏都是什纹PS2平台独占的。PC虽然有着PS2不能比拟的理贴高性能,但PS2上面很多的纹理游戏都没有发行PC版,很多PC玩家只能望洋兴叹。贴图图源那么,源码意思还有没有其他的什纹办法来体验PS2呢?当然有。其实PC平台上的理贴ps2模拟器早已推出多年,发展至今已经比较成熟了。PC上的PS2模拟器名字是PCSX2,其前身是PCSXPCSX是一款开放源代码的软件,支持Windows平台以及Linux平台。它以插件为基础,模拟PS2的各种核心功能。此外,使用不同的插件还可以产生不同的效果,可玩性很高。不过和PS2不同,PCSX2并不能运行PS的游戏。使用PS2模拟器可以玩到PS2平台上的大量优秀游戏,在早期PC硬件性能有限、PS2模拟器发展不成熟的时候,我们难以在PC上得到良好的PS2游戏体验。
PCSX2在早期性能并不好,帧满帧的PS2游戏只能跑到十数帧甚至是数帧。PS2的运算单元由.MHz的MIPS R、.MHz的MIPS RA两颗向量处理器以及一颗.MHz的图形处理器组成,性能虽然远不如现在的PC,但是由于x架构和PS2的架构有根本上的差异,所以用于模拟PS2所消耗的性能异常巨大。虽然四核CPU已经得到了普及,PCSX2的开发者也努力在提升多核心的利用效率,但是多核心CPU难以取得同步性能和频率间的精准度,所以提升模拟器性能最好的方法还是把双核CPU超至高频。
所幸PCSX2自身的改进不少,目前性能有了很大的提升。通过高效利用CPU的SSE 4.1指令集以及directx/,配以Core 2双核及以上级别的CPU以及主流级别的显卡,可以流畅运行绝大部分的PS2游戏。
在PC普及、硬件发达的今天,我们在PC平台上尝试PS2游戏,能不能体验到PS2游戏的乐趣呢?答案是可以的。下面笔者就为大家带来PC上的PS2模拟器PCSX2的使用攻略。
无论如何,PS2还是极具魅力的,这尤其体现在它高质高量的游戏上。不少对PS2情有独钟的人依然通过各种途经购入PS2,体验它的魅力。想要体验PS2的朋友当然也可以购买一部试试,C2C平台上面至今还有充足的货源。但是说实话,年发售的老机器,现在是魔兽乌龟服源码不可能会有全新机的。能买到二手的机器还好,但是充斥市场的更多是被称为“洋垃圾”的拼装机。这类机器的质量毫无保证,用几百块买一部随时会宕掉的翻新货,想想也觉得不值。
琳琅满目的PS2游戏
实际上很多PC玩家都没有体验过PS2。一来PS2 年前未正式进入过中国市场,市场上水货居多;二来PS2是一款十多年前上市的机器,年轻一代错过了机会;三来很多人都不喜欢花钱买游戏机,既然PC可以玩游戏,为何还需要游戏机呢?
风靡一时的PS2
拥有PS2的朋友有没有必要尝试PCSX2呢?这个可以有。
PCSX2对比PS2真机也拥有不少优势:
首先是图形方面,由于PCSX2的图形插件支持反锯齿和高分辨率等特性,拥有比PS2更好的画质(真心好太多);
PCSX2使用PS2原始分辨率输出的画面
PCSX2使用两倍分辨率后,锯齿明显减少
第二,PCSX2可以用更多的控制器(如键鼠等)操作,这在某些游戏中拥有更好的操作体验;
第三,PC本身拥有硬件优势。这里的硬件不只是性能方面,还有功能方面。比如说我们可以在硬盘里面储存大量的PS2游戏的光盘镜像,加载和切换游戏十分便利;也可以外接高清视频、音频设备,实现震撼的影音效果;
第四,PCSX2支持众多插件,用户可以通过插件实现很多效果,如强劲的DSP音效等,可玩性十分高;
第五,PCSX2可以更方便地存读档,也可以十分容易地使用金手指等(群众喜闻乐见的老金啊有木有)。
网络上推荐用以运行PCSX2的配置如下:
年左右配置的机器都有这个性能!
PCSX2对CPU的性能要求比显卡高,最好配备一颗3GHz以上的Core 2 Duo或是相同级别的AMD CPU。如果要开启很高的画面特效,则需要较大的显存。PCSX2对Intel CPU的支持明显比对AMD CPU的支持更到位,强烈推荐Intel CPU。
如果使用PCSX2的安装包,安装程序会提示是否安装C++的运行库以及DirectX,推荐把这些都勾选上。如果使用绿色版,则没有这些选项,需要事先安装好C++的运行库和最新版的DirectX。
PCSX2的安装界面
安装好了以后打开PCSX2,会有向导页面。语言支持简体中文,十分方便。
PCSX2支持简体中文
在插件选择菜单中我们可以选择不同的插件。“GS”是视频插件,“PAD”是控制器插件,“SPU2”是音频插件,这几个都比较重要。
另外,我们可以自己安装一些PCSX2本身不自带插件。只需要把相关.dll的文件放入PCSX2安装目录的Plugins文件夹就可以了。本文只以PCSX2自带插件为例。
选择插件
视频插件推荐选择支持SSE 4.1指令集的GSdx (MSVC .,SSE)0.1.[gsdx-sse4-r],会有性能的提升。注意,电话营销软件源码AMD的用户请不要选择SSSE3和SSE 4.1的视频插件,AMD的CPU所使用的指令集是SSE3和SSE4A,这两种指令皆不在GS视频插件的支持范围内。AMD用户请选择支持SSE2指令集的GSdx (MSVC .,SSE2)0.1.[gsdx-sse2-r]。
控制器插件方面,SSSPSX PAD比较简洁,LilyPad svn则功能比较强大,可以支持键盘、鼠标、各类手柄(包括XBOX 的手柄)等等(下文将以LilyPad svn为例)。
音频插件请务必使用“SPU2-X rm 1.4.0”。SPU2是最为强大的音频插件,很多音效都只有SPU2能支持,不少游戏都只有使用SPU2才能正常发声。
其他插件方面,“CDVD”是光驱的插件,一般情况用默认提供的既可。当然也可以选用其他来实现更多的功能。 cdvdGigaherz 0.8.0可以更方便地更换游戏盘,Linuz Iso CDVD 0.9.0则可以压缩光盘镜像以节省硬盘空间,这里就不一一细说了。
“USB”是USB接口插件,默认是USBnull,插件不会有任何功效(即是说不用USB接口做任何事情,一般情况也用不到。)当然,我们也可以通过加载其他插件来实现更多功能。比如说通过加载Nuvee插件,可以使用USB鼠标、键盘、光枪等外设。
“FW”是火线的插件,默认是FWnull(空值),目前没有任何关于火线的插件可用。
“DEV9”是硬盘和以太网的插件,系统默认是DEW9null,一般不需要另作设置。当然我们可以下载MegaDev9来模拟PS2的硬盘,这里不细说。
按“下一步”,如果没有安装相应版本的DirectX,PCSX2会提示是否安装。
提升安装最新版DX
如果选择不安装,则无法加载视频插件,PCSX2无法运行。
DX版本不符的话会无法运行
值得注意的是,PCSX2需要加载PS2实机的BIOS才能运行游戏。由于版权问题,PCSX2本身不自带BIOS。我们可以通过拷贝PS2真机的BIOS来获得BIOS文件。BIOS文件包括一个.BIN文件,一个.EROM文件,还有一个.ROM1和一个.ROM2文件。由于笔者手头上没真机,所以无法提供拷贝PS2 BIOS的教程,笔者也只能使用现成的BIOS来运行PCSX2。请注意BIOS文件的版权归索尼公司,仅供试用。热爱游戏,修仙弹幕游戏源码请务必大力支持正版游戏和正版机器。
得到BIOS文件后,把BIOS文件放入PCSX2安装目录的“bios”文件夹下。
加载PS2 BIOS
好了,到了这里我们可以顺利启动PCSX2了。默认会显示一个占地面积很大的控制台,我们可以取消勾选“杂项-显示控制台”把它关掉。
成功运行PCSX2
嗯,群众喜闻乐见的SAVE/LOAD秘籍,这是PS2真机无法提供的。当然深得民心的老金也没有被拉下。
PCSX2功能小览
除了刚开始的向导,我们也可以通过“配置-插件/BIOS选择器”来选择插件和BIOS,也能自定义存档文件、截图和日志的目录。
PCSX2的组件选择器
视频插件的设置
欲善其功必先利其器,在开始游戏前我们需要对PCSX2进行设置。首先是关于视频插件的设置。通过“配置-视频(GS)-插件设置”我们打开视频插件GSdx的配置选项。
PCSX2的GS视频插件配置界面
“Renderer”选项是图形渲染器。这里推荐选择最高版本的Direct3D(Hardware)渲染器。当GPU最高支持DirectX9.0c时,这里最高只会出现Direct3D9.的渲染器。GPU所支持的DirectX越高,可选择的Direct3D渲染器越多,版本也越高。值得一提的是,Direct3D/(Hardware)的性能和兼容性都比Direct3D9(Hardware)好。有(Software)后缀的选项都是调用CPU来进行渲染,速度会大幅下降,但是兼容性最好。
“Interlacing”能够选择各种反交错算法,用以消除画面抖动。大家可以自己尝试哪种效果最适合自己,在游戏时按F5可以随时更换效果。
渲染器和反交错
当“Renderer”渲染器选择了Direct3D的时候,就可以设置下面的“D3D Internal resolution”了,能够针对Direct3D渲染器作进一步的设定,不过如括号内的“can causes glitches”所说的,设置不当可能会造成一些画面渲染错误。
D3D Internal resolution是用来设置D3D的内部渲染分辨率的。我们可以勾选“Original PS2 resolution”中的“Native”来把画面设置成和PS2实机一样的分辨率,当然也可以在下面的选项把分辨率设置更高,令画面更加精细(这也是PCSX2优于PS2实机的地方)。“use Scaling”可以把D3D渲染分辨率设置为PS2实机原始分辨率的数倍,“Custom resolution”可以详细设置分辨率的数值。请注意,分辨率的比例设置不当会导致画面比例失调,分辨率设置得太高会导致模拟器性能大幅下降,所以建议大家根据PC性能使用“use Scaling”来设定D3D渲染的分辨率。
D3D渲染分辨率
当“Renderer”设置为Direct3D(Hardware)时,我们可以在“Hardware Mode Settings”对D3D硬件渲染作一些效果设定。“Texture filtering”是纹理过滤,勾选时会对所有画面进行双线性过滤,半勾选则只对3D画面进行双线性过滤,建议半勾选。“Allow 8-bit textures”(允许使用8-bit纹理)可以影响模拟器的效率,也可能会让画面出错,效果最好自己试一下。当“Renderer”选择了Direct3D9(Hardware)时,手游源码解密可以对“Logarithmic Z”和“Alpha correction”作进一步的设定。这两项都不是十分重要,当画面或者速度出现问题的时候可以更改一下,问题有可能得到解决。
选择“Direct3D9(Hardware)”打开选项
当“Renderer”使用Software模式时,可以对“Software Mode Setting”进行设置。我们可以在“Rendering threads”设置渲染器使用多少个处理器线程,也可以在“Edge anti-aliasing(AA1)”设置边缘反锯齿。
选择“Software”模式打开选项
GS视频插件设置最后一项“Hacks”默认是不可设置的,我们需要动一点手脚来打开这个选项。不过请注意,这里的选项极有可能造成画面错误,所以请谨慎设置。打开PCSX2所在的目录,编辑inis文件夹内的GSdx.ini文件,在文本最后加上一行“AllowHacks=1”(如果文本内已经存在“AllowHacks=0”则把0改为1),并把“Renderer”设置为Hardware模式,这样就可以对“Hacks”进行设置了。
更改ini文件打开“Hacks”选项
“HW Anti Aliasing”是硬件反锯齿,“Alpha Hack”可以修正一些阴影和烟雾渲染的错误,“Offset Hack”通过加入画面偏移修正部分画面错误的情况。“Skipdraw Hack”可以跳过一些图形渲染,可能会提高速度,但是也可能导致画面出错。
下面是笔者的设置,仅供参考。
建议设置
音频插件的设置
除了视频插件以外,音频插件也十分重要。我们可以通过点击PCSX2的“配置-音频-插件设置”菜单来进行音频插件的设置。
打开SPU2音频插件设置
“Mix Setting”中主要是对声音混合效果进行设置。“Interpolation”可以设置声音的效果,选项前面有数字,从0-4声音质量逐渐提高,速度也逐渐变慢。如果勾选了“Disable Effects Processing”,某些音效会被禁用,速度得到提升,但是声音可能会变得很奇怪。“Reverb Boost Factor”可以对声音进行增益,1X到8X音量依次增加。如果你是一个开发人员,可以勾选“Enable Debug Options”,输出音频插件的Debug Log。
音频插件的设置选项(1)
“Output Setting”中可以设置声音如何输出。“Module”是声音的输出通道,一般选择“XAudio 2”,当然PC的软硬件环境千奇百怪,如果发现其他通道有更好效果也可以尝试。“Latency”是声音延迟,低延迟可以避免画音不同步,但是也可能会爆音。
音频插件的选项设置(2)
“Synchronizing Mode”是选择声音的同步模式,“TimeStretch”(时间延伸模式)可以有效同步画音,但是画面卡顿的时候声音也会拖长。“Async Mix”(异步混音)能保证声音的正常播放,但可能会导致画音异步,甚至整个PCSX2崩溃掉,请谨慎选择。选择“None”的时候,画面卡顿的话会直接跳过那一段声音,对提升游戏速度有帮助。点击“Advanced”可以对声音同步模式进行更详细的设置,里面的效果需要耐心地调教,不喜欢麻烦的话保持默认就可以了。
“Audio Expansion Mode”可以设置声音的声道,四个选项从上至下分布是立体声(双声道)、四声道、5.1声道和7.1声道。勾选“Use a Winamp DSP plugin”可以使用Winamp的DSP音效插件实现更多的效果。
下面是笔者的设置,仅供参考。
建议设置
控制器插件的设定则相对简单,我们以LilyPad为例。打开PCSX2的“配置-控制器-插件设置”菜单,我们会看到一个很复杂的设置界面,天书一样,看了就头疼!其实这一点也不复杂,因为一般情况我们不需要使用这些选项。当然,也有些特殊情况。比如说当你需要用到鼠标的时候,则需要选择一个“Mouse API”,推荐使用“Windows messaging”。如果增添了新的外设,则需要在Device Diagnostics那里按“Refresh”扫描一下,不然可能找不到设备。除此以外,其他保持默认就可以了。接着我们可以跳到“Pad”的标签页进行控制器设置。
控制器插件的设置界面,一般保持默认既可
在“Pad”的标签页内,我们可以设置控制器的键位,也可以调节灵敏度和锁死区域,这些设置因人而异,这里就不一一细说了。
控制器插件的键位设置
其他插件的设置
CDVD、USB、DEV9和FW插件保持默认就能运行得很好,当然我们也可以通过加载“Nuvee”USB插件来使用更多外设,通过“MegaDev9”来模拟PS2硬盘,有兴趣的朋友可以作更多的尝试。
接下来我们需要对PCSX2本身进行一些设定。从PCSX2的“配置-模拟设置”进入以下界面。
PCSX2模拟设置
EE/IOP界面是用以模拟PS2的核心处理器MIPS R时的详细设定。一般情况我们不需要更改任何选项,如果不小心进行了错误的设置,游戏速度会变慢并且出错,这时请把预设值恢复到“最安全”的档位。
手滑按错了可以在这里调回预设值
VU界面是用以模拟PS2的协处理器MIPS RA时的详细设定,一般情况下我们也不需要作任何更改。当游戏出错时,我们可以尝试VU0和VU1中的旧式重编译器。
旧式重编译器
GS界面是PCSX2针对GS视频插件所做的功能选项,在这里我们可以设置帧速限制以及跳帧。通常情况下我们并不需要关闭限帧。而当游戏画面卡顿严重时,可以通过设置跳帧来尝试解决。若设置了跳帧,游戏画面衔接会不流畅,有时会闪烁。一般情况GS界面的选项保持默认既可。
GS界面
GS窗口的界面可以对游戏窗口进行设置。我们可以设置画面的比例以及窗口大小。由于PS2绝大部分游戏的默认视频输出比例是4:3,所以设置其他比例会有拉伸变形的情况。注意这个只是视频窗口的大小,和渲染器的输出画面分辨率没有关系。当视频窗口的大小高于输出画面分辨率的时候,画面会比较模糊。垂直同步会一定程度地影响游戏速度,不建议打开。
注意画面比例和垂直同步的设置
速度Hack是一个实验性的功能。注意,开启速度Hack的任何功能都极有可能引起画面错误。速度Hack可以提升游戏的运行速度,如果觉得可以忍受各种各样的奇葩画面而且对速度及其不满意,打开速度Hack也未尝不可……
小白鼠专用功能
游戏特殊修正内容如名所示,当运行某些游戏出错的时候,可以尝试打开这一功能。
针对某些游戏的特殊修正
好了,以上就是密密麻麻一大堆的PCSX2的设置,看上去是不是很难?其实不是的。以上的文字为了让大家多了解PCSX2的功能以及各个选项的意义,对很多选项都作了大致的讲解。但实际上我们在大多数时候只需要保持默认选项就可以了。
经过上面的步骤,PCSX2的设置基本完成了,接下来我们就可以启动游戏了。
PCSX2有三种载入游戏的方法:使用ISO光盘镜像、插件以及游戏光盘载入。最典型最流行的方法毫无疑问就是使用ISO光盘镜像载入游戏了。当然,家里拥有PS2游戏光盘的朋友也可以使用光驱载入游戏,不过要记得先选用cdvdGigaherz这个CDVD插件。
PCSX2可采用多种方法载入游戏
PCSX2提供了两种方法启动游戏,一是完整模式,二是快速模式。这两种模式的区别在于,完整模式会先读取PS2 BIOS的界面,在这里可以实现更多PS2的功能,如选择游戏语言等等。快速模式则直接跳过了PS2 BIOS的界面直接进入游戏,一般而言推荐使用快速模式启动游戏。
PCSX2有两种启动模式
游戏启动后,我们还可以按下F来进行游戏录像,连续按两下F取消录像,这也是PCSX2相对PS2的一大优势。
游戏时可录像
还有一个需要注意的地方,我们关闭游戏窗口的时候,其实游戏并未关闭而是处于暂停状态。此时在“系统-恢复”中可以恢复游戏。游戏还没关闭的时候,很多插件是无法重新设置的,这时候我们需要按下“系统-关闭”来关闭游戏,这时候我们就可以更改设置了。
关掉游戏窗口后可恢复或关闭游戏
好了,说了这么多,下面我们一起来看看PCSX2运行游戏的效果如何吧!
《秋之回忆》
首先我们先来尝试一款轻量级的游戏:《秋之回忆》。这是一款文字冒险AVG游戏,画面以2D绘图为主,但使用了透明贴图,对模拟器的兼容性有一定考验。
游戏主界面完美(帧)
**,前面左转领好您的便当(帧)
《秋之回忆》在PCSX2下运行地十分完美,帧数满,声音也没有出现问题,画面效果如夕阳摇曳的光影也一样不缺。
《超级机器人大战-特勤指挥官The 2nd》
接下来我们来尝试一款3D的游戏:《超级机器人大战-特勤指挥官The 2nd》。PCSX2运行2D AVG游戏没问题,面对机能和兼容性要求更苛刻的3D游戏,PCSX2能啃下来吗?
游戏主界面完美(帧)
看,灰机(帧)
大萝卜(帧)
我们可以看到游戏主菜单和游戏画面都没出现问题,但是即时渲染的开场CG已经不能满帧运行。这和笔者所用的机器单核心性能不强十分有关系,这在其他的一些游戏会表现得更明显,后面会看到。
《最终幻想》
《最终幻想》系列游戏可以说是日式RPG的旗帜,我们采用了《最终幻想》来测试PCSX2对这款较新的游戏的兼容性如何。
开场CG完美(帧)
男主睁开眼就看到一个好男人(帧)
可爱的男孩子(帧)
可见PCSX2运行《最终幻想》压力不大,虽然没有满帧,但是也比较流畅(CPU主频有3G的话会满帧的)。
《Fate/Stay Night Ultimate Codes》
接下来测试一款格斗游戏。《Fate/Stay Night Ultimate Codes》是基于同人界奇迹型月社力作《Fate/Stay Night》的作品,里面有不少新设计的人物,Saber Lily的靓影赚足了众人的眼光(以及荷包?)
开场CG中军刀靓丽的身影(帧)
游戏主界面完美(帧)
土狼自攻自受(帧)
PCSX2运行这款游戏有点费劲,进行游戏时有些迟缓。Q并非单线程十分强劲的CPU,和目前主流的Intel SNB CPU的单线程性能有一定差距,SNB运行这款游戏效果会好得多。
《真·三国无双5》
《真·三国无双5》是光荣公司推出的切草游戏,连舞系统的加入令玩家切得更有快感。这款游戏里面同屏渲染的模型很多(因为草都是一堆堆的),所以对性能的要求十分苛刻。
游戏主界面完美(帧)
游戏菜单完美(帧)
游戏时惨不忍睹(帧)
PCSX2运行这款游戏甚有压力,异常迟缓。机能十分强劲的PC玩家可以尝试用PCSX2跑这款游戏。不过《真三5》有PC版,这里用PCSX2玩PS2的游戏只是用以测试。
《联合VS扎夫特2 Plus》
最后是《联合VS扎夫特2 Plus》。高达Seed和Seed-D虽然叫座不怎么叫好,但是还是有众多的观众热爱里面的机设。这款游戏可以让玩家驾驶Seed系列作品里面的机体尽情激战。
开场CG的五彩大炮完美(帧)
游戏主界面完美(帧)
斩舰刀也不能阻止基神削人棍(帧)
这款游戏PCSX2运行起来没什么压力,机体格斗时感觉十分爽快。
游戏的测试就到此为止了,实际上网络上的资源也十分丰富,PS2的游戏镜像分享程度很高,大家可以下载试玩。热爱游戏,请支持正版。
总结:
经过一番体验,我们可以认为PS2模拟器已经能够让我们在PC平台上较好地体验PS2游戏了。PCSX2经过多年的发展,目前已经远比当初完善。虽然说对机器的性能还有一定的要求,但是现在硬件发展日新月异,在主流级别的硬件支持下,PCSX2的确可以完美模拟绝大部分PS2游戏,是一款优秀实用的PS2模拟器。对于错过了PS2的玩家们,没有购买PS2想法的玩家们,但是依然对PS2中种种名作有所憧憬的玩家们,PCSX2的确极具价值。
用Python和OpenGL探索数据可视化(基础篇)- 你好,纹理!
本系列文章旨在教授如何运用Python和OpenGL 4.5进行数据可视化开发,前提读者电脑需支持OpenGL 4.5版本。请参考《准备工作(一)Windows下检测显卡和OpenGL信息》进行检测,以及《准备工作(二)配置Windows下VS Code + Python + OpenGL开发环境》进行环境配置。源代码已上传至gitee.com/eagletang/pyg...
在探索数据可视化的旅程中,我们已经学会了如何通过顶点属性和统一变量赋予矩形不同的颜色。然而,现实世界中许多物体拥有复杂多变的颜色,如何在OpenGL中处理这些问题?答案在于纹理(Texture)的使用。纹理通过捕捉并转为数字化图像,再将图像“贴”在物体的三角形上,实现丰富色彩的显示。这一过程称为纹理贴图(Texture mapping)。
纹理贴图的基础元素是纹素(Texture element,简称texel)。接下来,我们通过代码实践来感受纹理贴图的魅力。首先,在VS Code中打开D:\pydev\pygl下的basic文件夹,并新建texture_app.py文件。在shaders文件夹下分别新建texture.vs、texture.fs文件,并输入相应的代码。在pygl文件夹下新建textures文件夹,下载木箱并将其复制至其中。运行VS Code,点击右上角三角形图标运行代码,屏幕将显示一个蓝色矩形,可切换至线框、实体加线框或纹理模式。切换至纹理模式,矩形将贴上木箱图案。
在GLSL部分,我们引入了纹理坐标tex_coord,并在顶点着色器中使用它。片段着色器中则引入了采样器sampler2D rect_texture,使用GLSL内置的函数texture从纹理中采集颜色信息。Python + OpenGL部分中,通过PIL库读取,定义纹理坐标、顶点属性、索引列表等,创建OpenGL程序对象、顶点缓存对象、元素缓存对象等,并与纹理对象绑定。通过代码实现,我们成功将纹理贴在了矩形上。
本文通过代码实践和解释,详细介绍了如何使用Python和OpenGL进行纹理贴图,使矩形能够展示出纹理的丰富色彩。通过本系列文章的学习,您将逐步掌握数据可视化开发的技能,探索更多可能。
用Python和OpenGL探索数据可视化(基础篇)- 完善pygl增加OpenGL二维纹理对象
在 Python 和 OpenGL 4.5 的数据可视化开发系列文章中,本文将介绍如何利用 Python 和 OpenGL 进行数据可视化。首先,确保你的电脑支持 OpenGL 4.5 版本,大约从年开始销售的电脑通常支持。接下来,配置你的开发环境,包括 VS Code、Python 以及 OpenGL 开发工具。
在上一篇文章中,我们已经学习了如何创建 OpenGL 的纹理对象,并使用文件生成纹理贴图。然而,OpenGL 中的纹理类型多样,其中二维纹理是最常见的。因此,本篇文章将基于上一篇文章的知识,重构一个专门读取文件的二维纹理类,并将其集成到 pygl 工具包中。
在 VS Code 中,打开文件夹 D:\pydev\pygl,新建一个名为 imagetexture2d.py 的文件。在该文件中,定义了一个名为 ImageTexture2D 的类,该类用于读取文件并创建 OpenGL 二维纹理对象。
首先,定义了一个构造函数 __init__,用于初始化需要读取的文件路径。接着,对读取文件和坐标系进行了调整,以确保数据正确地映射到 OpenGL 纹理中。之后,检查读取的纹理对象是否有效,并调用相应的 OpenGL 函数进行纹理对象的创建和绑定。
在完成纹理类的定义后,需要在 __init__.py 文件中添加导入语句,以便其他模块可以访问 ImageTexture2D 类。在 texture_app.py 文件中,更新代码以引用新的 ImageTexture2D 类,并进行必要的配置调整。通过运行代码,验证功能是否正常。
最后,本系列文章的源代码可以在 gitee.com/eagletang/pygl... 获取。同时,参考系列文章以获取更多有关 Python 和 OpenGL 数据可视化开发的知识。
本文主要关注如何使用 Python 和 OpenGL 进行数据可视化,包括配置开发环境、使用纹理对象、重构代码以实现更高效的数据处理。通过实践和理解这些概念,你将能够使用 Python 和 OpenGL 开发出丰富且高效的数据可视化应用。