Virsotnes pielīp malām

Parunāsim par OpenGL
Post Reply
Message
Author
User avatar
kverkagambo
Posts: 196
Joined: 27 Jul 2014, 18:57

Virsotnes pielīp malām

#1 Post by kverkagambo » 27 Jul 2014, 19:11

Sveiki.
Es izmēģinu GLSL objektu zīmēšanu, matricas utml.
Tad pamanīju, ka virsotnes (piemērā tā ir balta astotdaļsfēra) it kā pielīp pie ekrāna malām, kad tiek kustināta kamera. Tas viss ir ar 90° skata leņķi.
Tā kā nesen tikai uztaisīju projekcijas matricu un laboju citas senas kļūdas, nevaru vairs saprast, vai man tas tikai izskatās nepareizi, un vai tāda uzvedība vispār ir īpatnēja. It kā spēlēs es neko tādu neesmu ievērojis.

Tādā pielipšanā ir kaut kas nepareizs?

Image

Image

Image

User avatar
Dee
Posts: 81
Joined: 20 Jan 2012, 20:35

Re: Virsotnes pielīp malām

#2 Post by Dee » 27 Jul 2014, 22:01

man īsti nav skaidrs ko tu domā ar pielipšanu pie ekrāna malām, attēlos vismaz viss izskatās pareizi ( es gan nezinu kā tam būtu jāizskatās tavā gadījumā). Ja šķiet, ka projekcija ir nedabīga varbūt pamēģini samazināt fov(skata lenķi) uz kādiem 60 grādiem.

User avatar
kverkagambo
Posts: 196
Joined: 27 Jul 2014, 18:57

Re: Virsotnes pielīp malām

#3 Post by kverkagambo » 28 Jul 2014, 13:08

Runa ir par to, ka attēls it kā izstiepjas uz loga malu pusi. Tas tiešām atgādina efektu no pārāk liela skata leņķa.
Bet, teiksim, Team Fortress 2 maksimālais leņķis ir 105°, tomēr tāds efekts nav pamanāms (laikam nav izteikts). Šeit - neizkropļots attēls drīzāk atbilst 45 grādiem.

User avatar
Dee
Posts: 81
Joined: 20 Jan 2012, 20:35

Re: Virsotnes pielīp malām

#4 Post by Dee » 28 Jul 2014, 13:38

nu perspektīva projekcija ir tāda, viņa ir trapecveidīga un iztiepj vertexus kas ir tālāk no kameras, un sašaurina tos kas ir tuvāk, tam tā ir jābūt.
Varbūt Team Fortress 2 settingos rāda horizontālo fov, bet tu lieto vertikālo. Līdz ar to 105 grādi horizontālais lenķis ir ok uz mūsdienu platajiem ekrāniem, taču vertikāli tas vairs nav ok. No wikipedias:
fov typically measured as an angle, although whether this angle is the horizontal, vertical, or diagonal component of the field of view varies from game to game.
Tā kā nesatraucies par skaitli, noregulē tā lai tev tas acij ir patīkams un būs ok.

Patiesība es pats kļūdijos sakot 60 grādu fov, to es teicu tādēļ, ka unity defaults ir 60, bet tas laikam arī ir horizontālais lenķis, 45 grādi vertikālais = 60 grādi horizontālais fov. OpenGL funkcijās parasti lieto vertikālo fov.
Reku fov kalkulātors: http://www.rjdown.co.uk/projects/bfbc2/ ... ulator.php

attēli kas parāda kā strādā perspektīva projekcija:
no pasaules skatu punkta:
Image
viss relatīvi kamerai:
Image

User avatar
kverkagambo
Posts: 196
Joined: 27 Jul 2014, 18:57

Re: Virsotnes pielīp malām

#5 Post by kverkagambo » 28 Jul 2014, 21:41

Varbūt tiešām atšķirība starp vertikālo un horizontālo leņķi. Paldies par atbildēm.

Post Reply

Return to “OpenGL”