着色器问题
所以。此时,我一直在使用Pyglet持续一周,并且一直在制作节奏游戏。我决定使用pyglet的阴暗库来测试一些着色器。着色器应用和作品,但所有精灵和图像都显示为黑色矩形。我正在使用image.load()绘制图像。我已经尝试研究这个主题到现在运气,我不太习惯开放式着色器和纹理。尽管我确实读到,一旦着色器被粘合,所有的渲染都将传递给它,但是我找不到更多的信息可以提供帮助。
import pyglet
from pyglet.gl import *
import shaderpy
# image
image = pyglet.image.load('image.png')
# window
window = pyglet.window.Window(1280,720)
pyglet.gl.glClearColor(0.5,0,0,1)
# shader
shader = shaderpy.Shader([('shader.vs', GL_VERTEX_SHADER),
('shader.fs', GL_FRAGMENT_SHADER)])
@window.event
def on_draw():
shader.bind()
window.clear()
image.blit(0,0)
shader.unbind()
pyglet.app.run()
此代码为我产生了一个黑色的正方形,图像应该是图像。
So. I have been using Pyglet for up to a week at this point and have been making a Rhythm Game. I decided to test some shaders using the ShaderPy library for pyglet. The shader applies and works, but all sprites and images appear as black rectangles. I am drawing images using image.load(). I have tried researching the topic to now luck, I am not very used to OpenGl shaders and textures. Though I did read that once a shader is binded, all rendering is passed to it, but I couldn't find any more information to help.
import pyglet
from pyglet.gl import *
import shaderpy
# image
image = pyglet.image.load('image.png')
# window
window = pyglet.window.Window(1280,720)
pyglet.gl.glClearColor(0.5,0,0,1)
# shader
shader = shaderpy.Shader([('shader.vs', GL_VERTEX_SHADER),
('shader.fs', GL_FRAGMENT_SHADER)])
@window.event
def on_draw():
shader.bind()
window.clear()
image.blit(0,0)
shader.unbind()
pyglet.app.run()
This code produces a black square for me where the image is supposed to be.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论