예제 #1
0
 public void RenderSynapses(Vector3 startPos, Vector3 endPos, float neuronDist, float width)
 {
     for (int i = 0; i < OutputSynapses.Count; i++)
     {
         Synapse synapse    = OutputSynapses[i];
         float   unitWeight = synapse.Weight / 10f;
         Color   neuronCol  = GLHelper.ColorFromUnitFloat(unitWeight);
         GLHelper.DrawLine(startPos, endPos, neuronCol, width);
         endPos.y -= neuronDist;
     }
 }
예제 #2
0
        private void RenderLayer(List <Neuron> layer, Vector3 position, float neuronDistance)
        {
            GL.Begin(GL.QUADS);
            Vector3 curPos = position;
            Vector3 endPos = new Vector3(curPos.x + visualisationConfig.layerDistance, position.y, curPos.z);

            foreach (Neuron neuron in layer)
            {
                Color neuronCol = GLHelper.ColorFromUnitFloat(neuron.Value);
                GLHelper.DrawCube(curPos, visualisationConfig.neuronSize, neuronCol);
                neuron.RenderSynapses(curPos, endPos, visualisationConfig.neuronDistance, visualisationConfig.synapseWidth);
                curPos.y -= neuronDistance;
            }
            GL.End();
        }