Tässä on huvin vuoksi vähän leikitty Direct3d ohjelmoinnin parissa.
Olisi 128x128 pisteen pinta, jota yritän saada piirtymään shadereiden avulla ( Gouraud varjotus kun ei oikeen pelitä riittävän hyvin ). Nyt se pukataan 128 triangle strippinä. Ihan perus kauraa, eli esimerkiksi normaaleita koitan saada jollain tavalla välitettyä interpoloituna pixel shaderille, jolloin siellä noi valoheijastusehvektit saisi kohtuu kivan näköisiksi :)
Jostain kumman syystä en kuitenkaan saa omaa verteksi shaderia toimimaan pixel shaderini kanssa 'yhteen'. Ongelma tuntuu olevan erityisesti verteksi shaderin puolella. Kun otan 'tekniikassa' käyttöön vain oman pixel shaderin, homma tuntuu pelittävän. Tietty tällöin en oikeen voi kustomoida, mitä verteksikohtaista dataa pixel shader saa...
Tekstuuri sämpläyksessä tekstuurissa olleet normaalit ei silloin interpoloitunut, tein oman interpoloinnin pixel shaderissa, tuli varjostus nätin pehmeäksi, mutta tämä syö kohtuuttomasti resursseja ( esim. käskyslotteja ), haluasin enempi tavaraa yhden 'passin' käsittelyyn :)
Mikäköhän tässä nyt oikeen mättää. Koodi kääntyy kyl, mutta data vertex->pixel shader välillä ei tunnut välittyvän :( Itseasiassa kuva ei piirry ruudulle, mutta PIXin mukaan vertex shader antaa oikeat arvot ulos.
Aikas nyyppä olen vielä täsää, viikko pari on tullut leikittyä:)
Hyvvii työkaluja kaivataan. Seuraavaksi kokeilussa ompi pari ATI/AMD välppää, kuten RenderMonkey.
Olisi 128x128 pisteen pinta, jota yritän saada piirtymään shadereiden avulla ( Gouraud varjotus kun ei oikeen pelitä riittävän hyvin ). Nyt se pukataan 128 triangle strippinä. Ihan perus kauraa, eli esimerkiksi normaaleita koitan saada jollain tavalla välitettyä interpoloituna pixel shaderille, jolloin siellä noi valoheijastusehvektit saisi kohtuu kivan näköisiksi :)
Jostain kumman syystä en kuitenkaan saa omaa verteksi shaderia toimimaan pixel shaderini kanssa 'yhteen'. Ongelma tuntuu olevan erityisesti verteksi shaderin puolella. Kun otan 'tekniikassa' käyttöön vain oman pixel shaderin, homma tuntuu pelittävän. Tietty tällöin en oikeen voi kustomoida, mitä verteksikohtaista dataa pixel shader saa...
Tekstuuri sämpläyksessä tekstuurissa olleet normaalit ei silloin interpoloitunut, tein oman interpoloinnin pixel shaderissa, tuli varjostus nätin pehmeäksi, mutta tämä syö kohtuuttomasti resursseja ( esim. käskyslotteja ), haluasin enempi tavaraa yhden 'passin' käsittelyyn :)
Mikäköhän tässä nyt oikeen mättää. Koodi kääntyy kyl, mutta data vertex->pixel shader välillä ei tunnut välittyvän :( Itseasiassa kuva ei piirry ruudulle, mutta PIXin mukaan vertex shader antaa oikeat arvot ulos.
Aikas nyyppä olen vielä täsää, viikko pari on tullut leikittyä:)
Hyvvii työkaluja kaivataan. Seuraavaksi kokeilussa ompi pari ATI/AMD välppää, kuten RenderMonkey.
Vastaukset 1
Vanhimmat
Pikkasen eri tavalla pitää noi projektiot hoidella, kun käyttää omia shadereita ( mikä lie syynä ). Eli verteksi shaderi asetti koordinaatit sittenkin pöpelikköön ( pixel renderipuolella digataan ilmeisesti avaruudesta 0,0,0...1,1,1 ). Nyt kun säkällä sain jotain ruutuun, ni homma selkes :D
Noo, D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT optiolla mennään edelleenkin persiilleen, mutta nyt sentään pääsee eteenpäin.
Btw, tuli kummasti lisää puhtia grafiikkapuoleen. Ilmeisesti defaulttina on aikas tavalla läskiä, jos haluaa käyttää Micro$oftin omaa zydeemiä.