[cg] WToV

Forum van 1ste Bachelor Informatica.

Moderator: Praesidium

User avatar
Scheder
Posts: 212

[cg] WToV

Post#1 » Tue Aug 12, 2008 6:10 pm

wnr moet dit eigenlijk gebeuren?
bij hiddenline net voor het tekenen?
bij zbuffer niet?
wat doet het eigenlijk ook al weer?
wrm doe ik ook alweer de eerste dinge laatst, och ja

Pieter Belmans
Posts: 593
Contact:

Post#2 » Tue Aug 12, 2008 6:34 pm

Omdat uw window in reële coordinaten in het (gekozen) interval [(-1,-1),(1,1)] wordt uitgedrukt en je viewport (aka het beeldeke op uw scherm) in gehele coördinaten, in iets met de afmetingen van je afbeelding (700x700 deed ik dacht ik).

Als je nu iets op je scherm krijgt, heb je ofwel een heel ranzige interne opslag die eigenlijk al aan W2V doet door met opgeblazen coördinaten te werken, of je vermenigvuldigt alles gauw met een bepaalde factor vooraleer je tekent.

Wanneer je ze uitvoert boeit niet eigenlijk, het enige wat het doet is het middelpunt verplaatsen en je coördinaten voldoende groot maken zodat bij afronding je mooie gehele getallen krijgt. Je moet ze gewoon gedaan hebben vooraleer je iets tekent.

Ik deed het meestal vrij vroeg in de pipeline, omdat ik bij het debuggen dan meteen kon kijken naar getalletjes die ik op m'n scherm getekend zag worden :).

User avatar
Scheder
Posts: 212

Post#3 » Tue Aug 12, 2008 7:39 pm

ik heb het voorlopig nog ni gebruikt, maar toch lukt het om dinge te tekene
dus ergens zie ik het nut er ook weer ni van in, aangezien het nu toch lukt

Pieter Belmans
Posts: 593
Contact:

Post#4 » Tue Aug 12, 2008 8:47 pm

Flexibiliteit. Wat als jij een grotere afbeelding wil renderen of je viewport anders plaatsen?

User avatar
Scheder
Posts: 212

Post#5 » Tue Aug 12, 2008 11:44 pm

als het met zbuffer is dan doe da er ni toe, ik kijk alleen de pixels na die in mijn viewport ligge, hmm maw alsk dus wtov doe, dan gaank mijn zbuffer dus moete aanpasse... great, aangezien die dus nix tekent bove gfx.viewxu, pff, swat hmm, das probleme vor morge

User avatar
Scheder
Posts: 212

Post#6 » Wed Aug 13, 2008 5:09 am

ok, hmm wrm wil ik het maar ni snappe?
ok dus, waar haalt ge uw windowlower/upper en viewportlower/upper vandaan?
die moet ge op voorhand instelle?
die moet de gebruiker meegeve?
mr in ons geval, in hoeverre heeft het dan nut een verschillende waarde van window en viewport mee te geve?
het window groter make zou dan toch geen enkel nut hebbe?

Pieter Belmans
Posts: 593
Contact:

Post#7 » Wed Aug 13, 2008 6:22 am

Er staat een mooie pdf op Blackboard 2007-2008, lees die en you will be enlightened.

Mag ik u toch aanraden om volgend jaar soms naar lessen/practica te komen? :P

User avatar
Robbe
WOZ
Posts: 2161
Contact:

Post#8 » Wed Aug 13, 2008 1:16 pm

Pieter Belmans wrote:Mag ik u toch aanraden om volgend jaar soms naar lessen/practica te komen? :P
Als GT-er is dat niet altijd mogelijk Pieter ;)
"I'm not afraid of falling, I'm afraid of landing" -- Sam
How To Ask Questions The Smart Way

Zingen? UKA-n dat ook!

User avatar
Scheder
Posts: 212

Post#9 » Wed Aug 13, 2008 2:21 pm

Ik wist wel da ik ni de enigste kon zijn me het probleem ^^
swat, ill read the pdf, thx
en over de lesse, als gt-er is da idd soms lastig, graphics viel dit jaar same me het project.
@Robbe: thx for backing me up ^^

ok reading the pdf
*edit: ok, maar ik heb ni gewerkt me die view/myview, kvond het maar vreemd en lastig om mee te werke. dus voor mij zal vpx en vpy dan altijd gewoon 0 zijn en (h, b), GfxPlane.viewu? [hangt er dan vanaf of ik zon kaderke rond mijn wereld wil f ni]

User avatar
Scheder
Posts: 212

Post#10 » Wed Aug 13, 2008 3:46 pm

ok het werkt
alleen krijgek vanbove altijd nen legen band, men image vult ni heel de viewport, terwijl da toch zou moete denkek?

dit is mijn code:

Code: Select all


view^.vl.x := GfxPlane.viewxl;
view^.vl.y := GfxPlane.viewyl;
view^.vu.x := GfxPlane.viewxu;
view^.vu.y := GfxPlane.viewyu;

Images.Create(view^.img, view^.vu.x - view^.vl.x, view^.vu.y - view^.vl.y, Images.BGR888);
GfxBuffer.Init(view^.buf, view^.img);
Gfx.SetFillColor(view^.buf, Gfx.LGrey);
Gfx.DrawRect(view^.buf, view^.vl.x, view^.vl.y, view^.vu.x, view^.vu.y, {Gfx.Fill});

Gfx.DrawImageAt (GfxPlane.contxt, view^.vl.x, view^.vl.y, view^.img, GfxImages.NoFilter);
*edit: Oberon sluiten en trug openen hielp :roll:, oberon e... pff, iig band is weg nu
*edit2: hmm nu is de band er gewoon soms en dan weer ni :roll:, vreemd

Return to “1ste Bachelor”

Who is online

Users browsing this forum: No registered users and 53 guests