-
1. Data: 2011-03-23 13:35:59
Temat: OpenGL - ramka wokół tekstury
Od: l...@l...lon
Witam,
Taki drobny problem: jak wyświetlić ramkę wokół tekstury po OpenGL?
Myślałem, że wystarczy dodać parametr border = 1 lub 2 i powiększyć dx i dy
o 2 * border, ale ramki coś nie widać.
Czy ktoś może podrzuić prawidłowy kod, żeby wyświetlić np. zieloną ramkę?
Od razu powiem, że nie mogę zmieniać pikseli w samej teksturze (zresztą
efekt jest kiepski - ramka zmienia odcinkami intensywność)
Pozdrawiam,
Marcin
--
ml
http://www.archimedes.eu.org/
-
2. Data: 2011-03-23 16:27:57
Temat: Re: OpenGL - ramka wokół tekstury
Od: Michoo <m...@v...pl>
W dniu 23.03.2011 14:35, l...@l...lon pisze:
> Witam,
>
> Taki drobny problem: jak wyświetlić ramkę wokół tekstury po OpenGL?
Co chcesz dokładnie osiągnąć? Problem jest taki, że używasz chyba
niewłaściwych narzędzi. Jeżeli potrzebujesz ramkę na dokładnie 1 piksel
to zazwyczaj prościej ją zrobić np linią.
> Myślałem, że wystarczy dodać parametr border = 1 lub 2 i powiększyć dx i dy
> o 2 * border, ale ramki coś nie widać.
Border normalnie służy w rozmywaniu tekstur.
> Od razu powiem, że nie mogę zmieniać pikseli w samej teksturze (zresztą
> efekt jest kiepski - ramka zmienia odcinkami intensywność)
Ustaw jej skalowanie jako GL_NEAREST.
--
Pozdrawiam
Michoo
-
3. Data: 2011-03-25 07:41:54
Temat: Re: OpenGL - ramka wokół tekstury
Od: l...@l...lon
Dnia 23.03.2011 Michoo <m...@v...pl> napisał/a:
> W dniu 23.03.2011 14:35, l...@l...lon pisze:
>> Taki drobny problem: jak wyświetlić ramkę wokół tekstury po OpenGL?
> Co chcesz dokładnie osiągnąć? Problem jest taki, że używasz chyba
> niewłaściwych narzędzi. Jeżeli potrzebujesz ramkę na dokładnie 1 piksel
> to zazwyczaj prościej ją zrobić np linią.
Chcę zrobić porządną ramkę, tzn. taką która zawsze będzie wyświetlana jako
linia o grubości jednego piksela na ekranie, bez przerw, niezależnie od
powiększenia tekstury czy jej orientacji.
Linia - nie działa. Jeśli podam jej współrzędne takie jak współrzędne
krawędzi tekstury, to miesza ją z teksturę i wygląda fatalnie - raz jest,
raz nie ma, zmienia kolory, urywa się. Wiem, można dać - "trochę obok", ale
ile tego "trochę"? To będzie zależało od powiększenia, rozdzielczości
ekranu, itp. I chyba nie tędy droga.
>> Od razu powiem, że nie mogę zmieniać pikseli w samej teksturze (zresztą
>> efekt jest kiepski - ramka zmienia odcinkami intensywność)
> Ustaw jej skalowanie jako GL_NEAREST.
Próbowałem, wychodzi linia kropkowana, kiepsko.
-
4. Data: 2011-03-25 23:40:06
Temat: Re: OpenGL - ramka wokół tekstury
Od: Michoo <m...@v...pl>
W dniu 25.03.2011 08:41, l...@l...lon pisze:
> Dnia 23.03.2011 Michoo<m...@v...pl> napisał/a:
>> W dniu 23.03.2011 14:35, l...@l...lon pisze:
>>> Taki drobny problem: jak wyświetlić ramkę wokół tekstury po OpenGL?
>> Co chcesz dokładnie osiągnąć? Problem jest taki, że używasz chyba
>> niewłaściwych narzędzi. Jeżeli potrzebujesz ramkę na dokładnie 1 piksel
>> to zazwyczaj prościej ją zrobić np linią.
>
> Chcę zrobić porządną ramkę, tzn. taką która zawsze będzie wyświetlana jako
> linia o grubości jednego piksela na ekranie, bez przerw, niezależnie od
> powiększenia tekstury czy jej orientacji.
To Ci zostaje chyba tylko shader i sporo całkiem skomplikowanych obliczeń.
>
> Linia - nie działa. Jeśli podam jej współrzędne takie jak współrzędne
> krawędzi tekstury, to miesza ją z teksturę i wygląda fatalnie - raz jest,
> raz nie ma,
> zmienia kolory,
Jakim cudem?
>urywa się. Wiem, można dać - "trochę obok", ale
> ile tego "trochę"? To będzie zależało od powiększenia, rozdzielczości
> ekranu, itp. I chyba nie tędy droga.
Oczywiście, że nie tędy droga - zawsze można zapłacić za to komuś kto
potrafi w google wpisać "opengl polygon offset lines polygons" i dostać
artykuł z opengl.org.
--
Pozdrawiam
Michoo