搅拌机中的GLSL着色器

搅拌机中的GLSL着色器,glsl,shader,game-engine,blender,Glsl,Shader,Game Engine,Blender,我目前正试图在bge(blender游戏引擎)中实现一个类似于tron的游戏模型。我相信唯一的方法是使用GLSL着色器。我非常有兴趣学习如何使用这个强大的工具。我只找到了一个教程网站,那就是。无论我看了多少遍,我似乎都找不到如何完成tron外观所需的工作。我想这样做是通过有一个二级纹理,其中有黑色的材料是正常渲染和白色的地方,它是添加一个“光”。光线刚被画出来,没有阴影,有点花开 这就是风格: 我似乎找不到答案的问题是: 如何获得材质之间的匹配颜色,以便我可以判断材质的该部分是白色(浅色)还是

我目前正试图在bge(blender游戏引擎)中实现一个类似于tron的游戏模型。我相信唯一的方法是使用GLSL着色器。我非常有兴趣学习如何使用这个强大的工具。我只找到了一个教程网站,那就是。无论我看了多少遍,我似乎都找不到如何完成tron外观所需的工作。我想这样做是通过有一个二级纹理,其中有黑色的材料是正常渲染和白色的地方,它是添加一个“光”。光线刚被画出来,没有阴影,有点花开

这就是风格:

我似乎找不到答案的问题是:

如何获得材质之间的匹配颜色,以便我可以判断材质的该部分是白色(浅色)还是黑色(不透明)

如何从材质中获取颜色,以便将其输出为无阴影或不透明

如何添加bloom

我当前的代码(不执行任何操作)如下所示:

(这只是为了显示blender使用的结构)

import bge

cont = bge.logic.getCurrentController()

VertexShader = """
   varying vec4 color;

   void main()
   {
       color = gl_MultiTexCoord0; // set the varying to this attribute

       gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
   }
"""

FragmentShader = """
   varying vec4 color;

   void main()
   {   
      gl_FragColor = color;
   }
"""


mesh = cont.owner.meshes[0]
for mat in mesh.materials:
    shader = mat.getShader()
    if shader != None:
        if not shader.isValid():
            shader.setSource(VertexShader, FragmentShader, 1)