🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.demoscena
14 messages
14 total messages Started by artur Sun, 13 Feb 2005 15:49
OPENGL: v normalne, co jest dobrze?
#32829
Author: artur
Date: Sun, 13 Feb 2005 15:49
45 lines
2282 bytes
Czesc,
dzis mnie cos pokusilo i w google wrzucilem search na normals i zaczalem  
czytac, zaskoczylo mnie cos, jeszcze nie sprawdzalem roznic bo nie mialem 
mozliwosci ale szybko moge zadac pytanie:

1. jakie jest wlasciwe podejscie A czy B? (bo w dokumentacji w necie mozna
poczytac roznie, w jednym z dokow nawet byl WARNING!!! ze trzeba robic wg A,
ale nie wyjasnione bylo dlaczego, co jak nie zrobie jak w A?)

A. 

- liczymy normalne do scian
- liczymy normalne do wierzcholkow (na podstawie normlanych scian)
- normalizujemy

czy:

B.

- liczymy normalne do scian
- normalizujemy
- liczymy normalne do wierzcholkow (na podstawie normlanych scian po 
normalizacji)

czyli problem jest taki, czy do liczenia normalnych dla wierzcholkow bierzemy 
oryginalne, nieznormalizowane normalne scian czy tez najpierw normalizujemy 
normalne scian  i takie znormalizowane bierzemy
do liczenia normalnych dla wierzcholkow ?

problem jest interesujacy, bo roznie pisza, a nie wiadomo w tym momencie kto 
ma racje, ja w swojej starej procce mam liczenie normalnych do wierzcholkow 
na podstawie znormalizowanych normalnych scian, pytanie czy czasami czegos 
nie gubie? 

podejrzewam ze pojawia sie problem dokladnosci obliczen, biorac do licznia
wektory po normalizacji inny bedzie ostateczny wynik niz wziac oryginal i 
potem normalizowac, ale byc moze roznice sa niewielkie albo nie ma ich wcale.

macie odpowiedz? A czy B?

Artur


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: OPENGL: v normalne, co jest dobrze?
#32830
Author: poison64
Date: Sun, 13 Feb 2005 16:52
30 lines
1905 bytes
> czyli problem jest taki, czy do liczenia normalnych dla wierzcholkow 
> bierzemy
> oryginalne, nieznormalizowane normalne scian czy tez najpierw 
> normalizujemy
> normalne scian  i takie znormalizowane bierzemy
> do liczenia normalnych dla wierzcholkow ?
>
> problem jest interesujacy, bo roznie pisza, a nie wiadomo w tym momencie 
> kto
> ma racje, ja w swojej starej procce mam liczenie normalnych do 
> wierzcholkow
> na podstawie znormalizowanych normalnych scian, pytanie czy czasami czegos
> nie gubie?
>
> podejrzewam ze pojawia sie problem dokladnosci obliczen, biorac do licznia
> wektory po normalizacji inny bedzie ostateczny wynik niz wziac oryginal i
> potem normalizowac, ale byc moze roznice sa niewielkie albo nie ma ich 
> wcale.
>
> macie odpowiedz? A czy B?
>
> Artur

    moim zdaniem nie ma roznicy, bo to w koncu tylko kierunek, nic wiecej...

    myle sie?

-- 
    Poison64
    http://www.poison64.prv.pl/
Re: OPENGL: v normalne, co jest dobrze?
#32831
Author: creed
Date: Sun, 13 Feb 2005 19:18
36 lines
2322 bytes
"poison64" <poison64@DELTHISopBLABLA.pl> wrote in message
news:cuo0jr$8o0$1@news.onet.pl...
>     moim zdaniem nie ma roznicy, bo to w koncu tylko kierunek, nic
wiecej...
>
>     myle sie?

troszke sie mylisz. zreszta to latwo sprwadzic... na plaszczyznie, zeby
latwiej bylo widac.

wez wektor [0,1] i [1,0], jak dodasz i znormalizujesz to bedzie wektor
tworzacy idealne 45 stopni z osiami. no ale jak wezmiesz [0,2] i [1,0] (i
znormalizujesz) to bedzie bardziej odchylone w strone osi Y (nawet sporo
bardziej).

Inaczej mowiac jesli te wektory beda roznych dlugosci to nie bedzie taka
"zwykla" srednia, tylko taka srednia "wazona".


Co jest lepsze? Przede wszystkim moze warto sobie uswiadomic, ze tak
naprawde nie ma czegos takiego jak wektor normalny takiej striangulizowanej
powierzchni i wszystko co mozemy zrobic to znalezc taki wektor, zeby to w
miare porzadnie wygladalo.

Ja u siebie mam chyba te druga metode, dlatego chwilke musialem pomyslec
czemu pierwsza mialoby byc lepsza. Jakie sa wagi w tej naszej sredniej? No
takie jak dlugosci wektorow. Czyli? Proporcjonalne do pola trojkata. No i to
moze byc calkiem niezla heurystyka.

Ale moim skromnym zdaniem nie ma to za wielkiego znaczenia, oko ludzkie jest
raczej bardzo liberalne... Inna sprawa, ze jedna implementacja od drugiej
rozni sie dokladnie jedna linijka kodu...


pozdro
creed
Re: OPENGL: v normalne, co jest dobrze?
#32834
Author: biki
Date: Mon, 14 Feb 2005 08:56
4 lines
964 bytes
a ja mam ciekawszy problem.
jak prawidlowo policzyc normale w obiekcie  ktory ma i gladkie i ostre 
krawedzie miedzy wielokatami, ale nie wiemy gdzie tylko wiemy ze przy 
koncie wiekszym niz X ma byc ostro.
Re: OPENGL: v normalne, co jest dobrze?
#32832
Author: artur
Date: Mon, 14 Feb 2005 09:16
14 lines
1266 bytes
creed,
masz racje, przemyslalem to co napisales, i wyglada na to ze totalnym
bledem jest wyznaczanie normalnego do wierzcholka na podst. 
nieznormalizowanych normalnych do scian,

jesli tak zrobimy to na nasz wynik ma wplyw wielkosc scian (i tym samym 
dlugosc normalnych do scian) a przeciez chodzi tylko o kierunek...

dzieki i pozdr,
A


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: OPENGL: v normalne, co jest dobrze?
#32837
Author: Sulsa
Date: Mon, 14 Feb 2005 15:25
5 lines
992 bytes
artur wrote:
 > [ciach]

mam takie pytanko co moze pokazywac taka normalna wieszcholka, przeciez 
punkt nie ma zadnego kierunku ktory mozna by pokacać
Re: OPENGL: v normalne, co jest dobrze?
#32838
Author: artur
Date: Mon, 14 Feb 2005 16:16
6 lines
982 bytes
sulsa,
patrzysz przez pryzmat matematyki a to czasem bardzo przeszkadza.


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: OPENGL: v normalne, co jest dobrze?
#32839
Author: Sulsa
Date: Mon, 14 Feb 2005 16:47
7 lines
1143 bytes
artur wrote:
> sulsa,
> patrzysz przez pryzmat matematyki a to czasem bardzo przeszkadza.

informatyka, a w szczegolnosci grafika komputerowa to glownie 
matematyka, jak mozesz to mnie troche nakieruj co taka normalna miala by 
pokazywac?
Re: OPENGL: v normalne, co jest dobrze?
#32840
Author: artur
Date: Mon, 14 Feb 2005 18:04
57 lines
3167 bytes
Sulsa,
jakby wielcy w grafie komp polegali tylko na matmie albo by tak nia sie 
przejmowali to chyba grafa komputerowa bylaby teraz na etapie piksla ;) masz 
racje jest wazna, ale bardzo czesto trzeba ja perfidnie zignorowac...

gdzie normalne mozna wykorzystac?: 

swiatlo, env mapping, bump, shadows, kolizje, response itp

do czego mi sluzy normalna do sciany?:

po wyznaczeniu normalnej do sciany liczymy iloczyn skalarny miedzy wektorem 
normalnym do sciany a wektorem skierowanym do zrodla swiatla - dzieki temu 
mozna okreslic intensywnosc swiatla dla danej sciany (cieniowanie lamberta),
dawno temu w poczatkach lat 90 tych to byl podstawowy efekt jaki udalo sie 
zrobic w demach na wektorkach - niestety wtedy moce obliczeniowe kompow 
byly.... hmm, ale za to ludzie sie niezle starali zeby przyspieszac procki 
itd teraz to juz nie takie istotne...

- w ogl to GL_FLAT (tyle juz o ogl wiem ;)

do czego sluzy mi normalna do wierzcholka?:

fakt, matematycznie to nie da rady wyliczyc, nie ma czegos takiego jak w.norm 
do punktu ale ... ktos madry zauwazyl ze skoro sciany ktore zawieraja dany 
wierzcholek (wspolny dla nich) maja swoje normalne to dla tego wierzcholka 
mozna wyznaczyc tez normalny i tym samym... hmm, mazemy robic gourauda...

w gouraudzie liczysz intensywnosc dla kazdego wierzcholka i potem trojkacik 
interpolowany - stad mamy cieniowanie gourauda, w 95-96 roku to byl hit.

- w ogl to GL_SMOOTH (tyle juz o OGL wiem ;)

- to takze ma zastosowanie w env.mappingu

ale to nie wszystko - ktos wymyslil ;) ze mozna liczyc normalne (sory moze 
pojde zbyt skrotowo i byc moze tez blednie) dla kazdego punktu sciany / 
krawedzi - Phong

- w 95-96 malo kto tak na prawde kodowal phonga, wszyscy raczej fakeowali 
env.mappingiem (gradientowa kula) ale coz... czy teraz ktos robi prawdziwego 
phonga? nie wiem, nie jestem na biezaco w produkcjach scenowych...

jak chcesz sie dowiedziec jak to liczyc to zajrzyj na:

http://www.flipcode.com/articles/article_vertexnormals.shtml

albo pamietam ze dawno temu w BadNews3 lub BN4 ozir to meczyl chociaz 
wszyscy sie nabijali bo pokrecily mu sie znaki we wzorach...

pozdr,
A



-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: OPENGL: v normalne, co jest dobrze?
#32835
Author: creed
Date: Wed, 16 Feb 2005 19:04
11 lines
1358 bytes
"biki" <biki@viper.pl> wrote in message
news:95FD6E4C6bikikillerradomnet@193.110.122.97...
> a ja mam ciekawszy problem.
> jak prawidlowo policzyc normale w obiekcie  ktory ma i gladkie i ostre
> krawedzie miedzy wielokatami, ale nie wiemy gdzie tylko wiemy ze przy
> koncie wiekszym niz X ma byc ostro.

Wybacz Biki, ale znow Cie nie rozumiem... Co to sa "gladkie" i "ostre"
krawedzie?

creed
Re: OPENGL: v normalne, co jest dobrze?
#32833
Author: creed
Date: Wed, 16 Feb 2005 19:05
12 lines
1420 bytes
"artur" <bonart1@NOSPAM.gazeta.pl> wrote in message
news:cupq9l$e9m$1@inews.gazeta.pl...
> creed,
> masz racje, przemyslalem to co napisales, i wyglada na to ze totalnym
> bledem jest wyznaczanie normalnego do wierzcholka na podst.
> nieznormalizowanych normalnych do scian,

Hmm... Czyli nie mam racji, bo ja napisalem, ze ta pierwsza metoda moze byc
lepsza, tzn. moze dawac lepsze efekty wizualne.

creed
Re: OPENGL: v normalne, co jest dobrze?
#32841
Author: creed
Date: Wed, 16 Feb 2005 19:17
42 lines
2782 bytes
"artur" <bonart1@NOSPAM.gazeta.pl> wrote in message
news:cuqp7t$ab1$1@inews.gazeta.pl...
> jakby wielcy w grafie komp polegali tylko na matmie albo by tak nia sie
> przejmowali to chyba grafa komputerowa bylaby teraz na etapie piksla ;)

To Twoje zdanie. Masz do niego oczywiscie prawo...

Choc mozna by sie zastanawiac czy gdyby nie matematyka to wiedzialbys chocby
co to jest wektor normalny...

> fakt, matematycznie to nie da rady wyliczyc, nie ma czegos takiego jak
w.norm
> do punktu ale ... ktos madry zauwazyl ze skoro sciany ktore zawieraja dany
> wierzcholek (wspolny dla nich) maja swoje normalne to dla tego wierzcholka
> mozna wyznaczyc tez normalny

Nie do konca.

To znaczy oczywiscie mozna podejsc do tego w taki sposob "alchemiczny",
wrzucimy jakies wektory normalne i zobaczymy co z tego wyjdzie (swoja droga
wyniki moga byc naprawde rewelacyjne).

Natomiast mozna tez podejsc do tego matematycznie. To, ze rysujemy trojkaty
nie oznacza, ze taki wlasnie obiekt chcemy narysowac, ale ze jest to jedynie
jego przyblizenie. Na ogol przyblizamy powierzchnie, ktore sa gladkie, a
wiec maja swoje wektory normalne. I wlasnie ten wektor, ktory konstruujemy
ma byc przyblizeniem wektora normalnego powierzchni, ktorej przyblizeniem
jest nasza siatka trojkatow... Oczywiscie nie mozemy tego wyliczyc
dokladnie, jedyne co mozemy to skorzystac z jakiejs heurystyki.

Nota bene dlatego wlasnie uwazam, ze to "nienormalizowanie" wektorow moze
miec sens, bo takie male trojkaty rzeczywiscie powinny mniej wplywac na
efekt koncowy...


OK, przepraszam, ze ostatnio sie tak wylewnie wymadrzam, ale musze troche
odreagowac po szkole...

Dajcie znac jak bedzie to was bardzo nudzic...

creed
Re: OPENGL: v normalne, co jest dobrze?
#32836
Author: biki
Date: Thu, 17 Feb 2005 12:00
12 lines
1380 bytes
>Wybacz Biki, ale znow Cie nie rozumiem... Co to sa "gladkie" i "ostre"
>krawedzie?

wyobraz sobie kule i szescian.
kula jest gladka wiec normale w wierzcholkach sa takie same dla kazdej 
sciany
za to przy szescianie krawedzie powinny byc ostre. wiec dla kazdej sciany 
bedzie inny wektor normalny w wierzcholku.
jak przy szescianie policzysz normale takjak w kuli to dostaniesz bryndze.
no i trik polega na wymysleniu sposobu na policzenie tego zeby 
automatycznie rozpoznawalo oba przypadki.
Re: OPENGL: v normalne, co jest dobrze?
#32842
Author: bonart1
Date: Tue, 22 Mar 2005 14:34
11 lines
1180 bytes
chyba faktycznie odreagowywales, bo cie baaardzo ponioslo... 

sciany - normalizacja - wierzcholki = OK
sciany - wierzcholki - normalizacja = ZLE

pozdr,
A


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads