Task 5 keine Ausgabe (Screen bleibt schwarz)

  • Hallo,


    Ich verwende beim Aufruf von blinn(...) und auch lambert(...) die Variable '_lights' vom SurfaceShader als Parameter.
    Beim Debuggen hab ich festgestellt, dass _lights immer null ist und somit keine Berechnungen durchgeführt werden.
    Dann hab ich mir die generelle Verwendung von _lights angesehen und festgestellt, dass diese Variable vom Programm nie gesetzt wird und somit überflüssig ist?


    Welche Lichter soll ich ansonsten übergeben oder weiß jemand wo mein Fehler ist?


    Danke

  • Hallo rAims,


    Quote

    Welche Lichter soll ich ansonsten übergeben oder weiß jemand wo mein Fehler ist?


    setz mal beispielsweise in deiner LambertGouraudShader class einen Breakpoint auf den Aufruf von IlluminationModels.lambert(...).
    Starte als nächstes dein Programm im Debug-Modus und öffne anschließend die Test-Scene material_test.dae .
    Dein Programm wird nun den Break-Point triggern und in _lights[] sollten 2 Lichter enthalten sein. An der Stelle [0] ein DirectioanLight und an der Stelle [1] ein PointLight.


    Es ist also durchaus richtig dem IlluminationModels.lambert(...) die Variable _lights als Parameter mit zu geben!

    Liebe Grüße,
    Tommy T.



    P.S.: kann es sein, dass du auf das TODO 5 in Scene.java vergessen hast?
    Dort muss du beispielsweise mit shader.setLights(...), shader.setNormalMatrix(...) oder shader.setCameraLocation(...) die Variablen an den Shader weitergeben.

    Thomas Trautner


    EDBV - Tutor WS 2016/17; ECG - Tutor WS 2015/16, WS 2016/17
    CG UE - Tutor SS 2015, SS 2016; EVC - Tutor SS 2014, SS 2015, SS 2016

    Edited 3 times, last by Tommy T. ().