Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: DirectX - Kaksinpelin piirto-ongelma

Sivun loppuun

Metabolix [18.08.2004 20:17:51]

#

Osaako joku kertoa, kuinka saan Direct3D:llä asetettua piirtoalueen niin, että tietyn alueen ulkopuolella olevat pikselit jätettäisiin piirtämättä? Ei tätä ongelmaani voi muutenkaan ratkaista: Molempien pelaajien näkökentän reunoilla olevat vinot kappaleet (käännän samaa kuvaa) näkyvät molempien puolella. Suorat osat (esim. laatoitus) saa leikattua ihan laskemalla.
Esimerkkikuva; vinot palikat kuvaavat pelaajia ja keskellä vaakatasossa kulkee pelaajat erottava viiva.
DirectX8, vaikka ei sillä niin väliä ole.
Jos tämä tapahtuu SetClipPlane-funktiolla, tarvitsen esimerkin, koska tuolla en saanut mitään aikaan. Muuten saatan selvitä itsekin kun vain funktio kerrotaan.

Metabolix [19.08.2004 19:50:27]

#

No huh huh... Arvelin, että täältä löytyisi päivän aikana edes joku, joka tietää... Pitkän mietinnän jälkeen sain kuitenkin ongelman ratkaistuksi.
Olen pettynyt Putkaan. :'(

Deewiant [19.08.2004 19:54:33]

#

On yleensä kohteliasta, postattuaan kysymyksen ja sitten ratkaistuaan sen itse, postata myös vastaus siihen, jotteivät muut joudu ehkä kysymään samaa myöhemmin.

Janezki [21.08.2004 14:39:26]

#

Etpä ole ainut jolta on apu jäänyt saamatta;
https://www.ohjelmointiputka.net/keskustelu/2480-delphi-näppäinten-lukitseminen
https://www.ohjelmointiputka.net/keskustelu/2036-delphi-mediaplayer

thefox [22.08.2004 03:08:10]

#

Itsellä nyt tulisi ensimmäisenä scissorit mieleen vaikka ei hirveästi DX:stä kokemusta olekaan (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/programmingguide/advancedtopics/PixelPipe/ScissorTest/ScissorTest.asp)

Metabolix [22.08.2004 08:58:03]

#

Janezki: Vieläkö tarvitset noihin apua? En vielä tuolloin kuulunut Putkaan...

Vastaus oli:
IDirect3DDevice8::SetViewport();

Tässä tapauksessa onnistuisi myös ScissorRect, joka Viewportista poiketen rajoittaa vain X- ja Y-koordinaatit; Viewporttiin saa vielä Z-koordinaatinkin.
IDirect3DDevice8::SetScissorRect();

Vielä jäi sellainen kysymys, että onko mitenkään mahdollista saada vinoa rajausta?

firebug [22.08.2004 11:33:48]

#

En tuosta DirectX:stä tiedä, mutta kävisiköhän sapluunapuskuri(stencil buffer)? Sillä saa piirtoalueen rajattua muistaakseni millaiseksi haluaa.

Janezki [29.08.2004 18:47:22]

#

Metabolix kirjoitti:

Janezki: Vieläkö tarvitset noihin apua?

Kyllä ongelmat on vielä ajankohtaisia.

Metabolix [29.08.2004 19:42:53]

#

  1. Windows ei varmaankaan anna ohjelman estää näppäinpainalluksia muille ohjelmille ihan noin vain. Suosittelen tässä asiassa kääntymistä MSDN:n puoleen; vaikka esimerkit ovatkin VB:llä tai C:llä, ne toimivat yleensä myös Delphissä.
  2. Useaa Wav-soitinta et saa soimaan yhtä aikaa, ja eri Devicet ovat eri tiedostotyyppejä varten. Suosittelen joko siirtymistä taustamusiikeissa mideihin tai siirtymistä täysin johonkin parempaan järjestelmään, kuten DirectSound tai DirectSoundia käyttävä Housemarque Audio System (tunnettu myös MIDAS SoundSysteminä, joka on vapaasti käytettävissä freeware-käyttöön.

Janezki [29.08.2004 20:19:24]

#

No katsotaan jos noilla saa jotain aikaan.


Sivun alkuun

Vastaus

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

Tietoa sivustosta