Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: [VB6]Millä se pitää blendata...[DX8]

Sivun loppuun

jcd3nton [03.04.2004 15:51:19]

#

Niih, nyt on ongelmana kun käyttää tuota läpinäkyvää tekstuuria, se kun muuttaa sen "läpinäkyvän" mustaksi muttei kokonaan jätä sitä piirtämättä. Millä se pitäisi blendata että se näkyisi alla olevan kuvan päällä, mutta musta jää pois?

jcd3nton [03.04.2004 19:06:04]

#

Höh! Sitä ei pysty blendaamaan pois. Läpinäkyvä tekstuuri tuntuu olevan hyödytön, jos ei tähän löydy ratkaisua :|

hunajavohveli [03.04.2004 20:01:53]

#

Siis käsitinkö oikein, että se siis vain muuttaa värin mustan (taustan?) väriseksi, mutta piirtää päälle silloinkin kun sen alla olisi jotain muuta väriä? No siinä tapauksessa ei sillä minustakaan kyllä yhtään mitään tee.

Gaxx [03.04.2004 21:53:10]

#

Jos olet kopioinut koodin suoraan putkasta(ja tehnyt siihen tietenkin pieniä muutoksia), niin tarkistappa, että olet ottanut sen taustan mustaksimaalauksen pois tai siirtänyt sen parempaan paikkaan). En kyllä ole varma tarkoititko tuota.

jcd3nton [04.04.2004 10:36:12]

#

En käyttänyt tuota putkan esimerkkiä. Laitan siis "läpinäkyvän" värin tässä:

Dim Textuuri As Direct3DTexture8
Set Textuuri = D3DX.CreateTextureFromFileEx(D3DDev, App.Path & "\Textures\Tex_Fist.bmp", 64, 64, 1, 0, D3DFMT_X8R8G8B8, D3DPOOL_MANAGED, D3DX_FILTER_TRIANGLE, D3DX_FILTER_TRIANGLE, &HFFFF0000, ByVal 0, ByVal 0)

Tuossa siis tuo kolmanneksi viimeinen parametri on se "läpinäkyvä" väri, tässä tilanteessa punainen. Tuo toimii ihan hyvin, mutta punainen ei menekään piirretäessä täysin läpinäkyväksi, vaan se piirretään mustana.

Kokeilin piirtää kaikilla mahdollisilla alpha blendauksilla, mutta mikään ei tehnyt mitä piti =(

Gaxx [04.04.2004 14:44:19]

#

Tuo on mielestäni ihan oikein eli vika piilee muussa koodissa:) Pistäppä tähän kaikki oleelliset piirtämiseen liittyvät jutut tai vaikka koko piirtofunktio(jos sellasta käytät).

jcd3nton [05.04.2004 07:30:32]

#

D3DDev.DrawPrimitiveUP D3DPT_TRIANGLELIST, 2, Vertices(0), Len(Vertices(0))

Ei se tuon erikoisempi...

Gaxx [05.04.2004 12:14:43]

#

Tietoni perustuu lähinnä putkan oppaaseen :), joten en tiedä tuosta piirtofunktiosta mitään. Oletko varma, että tuo piirtää sen läpinäkyvänä(siis ne läpinäkyvät kohdat)? Voit tietysti kokeilla putkan esimerkin piirtoa, joka ainakin itselläni toimii moitteetta :)

jcd3nton [05.04.2004 15:54:39]

#

Se esimerkki ei tässä tapauksessa riitä tarpeisiini. Tulee 3D:tä ja 2D:tä sekasin ja 2D kuvia pitää päästä pyörittelemään jne., joten se on helpompi tehdä vaihtamalla VertexShader ja piirtämällä lopuksi päälle 2D Interface...

3D:ssä ei tuota ongelmaa ole koska en pistä 3D malleihin läpinäkyvää tekstuuria.

Ja käytän vielä tuota 2D:tä, kun teen yhteen peliin varsinaisen pelin ensin ja sitten lopuksi muunnan sen 3D:ksi... että sellasta.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta