Hirdetés

2012. május 28., hétfő

Hozzászólások

(#1) Frakk


Frakk
(tag)

Helló!
Úgy láttam nincs ilyen téma, úgyhogy nyitottam egy topicot.
Az a gondom, hogy OpenGLben ködöt szeretnék csinálni. Illetve az már sikerült is, csak nem úgy ahogy szeretném:

GLfloat fogColor[4]= {0.50, 0.50, 0.80, 1}; // Fog Color

glFogi(GL_FOG_MODE, GL_LINEAR); // Fog Mode
glFogfv(GL_FOG_COLOR, fogColor); // Set Fog Color
glFogf(GL_FOG_DENSITY, 0.5); // How Dense Will The Fog Be
glHint(GL_FOG_HINT, GL_NICEST); // Fog Hint Value
glFogf(GL_FOG_START, 0); // Fog Start Depth
glFogf(GL_FOG_END, 5); // Fog End Depth
glEnable(GL_FOG);

Ezzel a kóddal ugyan lesz köd, de nem a pixelek távolsága, hanem a z koordinátájuk szerint számít, ami ugye nem valóságos eredményt ad, és ez (főleg szélesebb látószögeknél) elég idegesítő. Na én megpróbáltam utánnanézni googlen es azt találtam, hogy ha ezt a sort beírom a kód elé:

glFogi(0x855A, 0x855B);

akkor távolság szerint fogja számítani. Úgy is lett, csakhogy így meg most nem minden pixelre végzi el a műveletet, hanem csak vertexekre, ezér a túl nagy polygonokra nem használható. Nem tudja vki, hogy lehet megcsinálni, hogy pixelenként, és távolságszerint számoljon?

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#2) GBX válasza Frakk (#1) üzenetére


GBX
(fanatikus tag)

Nos, van más fajta köd is:
radial fog vagy mi a fene. ez a camerától mért távolságnak megfelelően csinálja a ködöt (sztem te ezt akartad)
itt egy ppt: http://developer.nvidia.com/attach/6729
lehet ködöt még részecskerendszerrel is csinálni vagy (féli átlátszó)billboardokkal.
ezenkívül van rá lehetőség hogy esetleg pixelshaderrel egyfalyta volometric fog-ot csinálj.
Sok sikert.

HiTech 486 DX4 120Mhz AMD, 24MB 36bit RAM, 800 MB Conner HDD

(#3) Frakk válasza GBX (#2) üzenetére


Frakk
(tag)

Ja, hát radial fog, csak az a baj, hogy nem pixelenként végzi a ködösítést, hanem vertexenként, így pl ha egy bazi nagy négyszög közepén áll az ember, aminek a sarkai ködben vannak, akkor az egész négyszög úgy fog kinézni mintha ködben lenne, még akkor is, ha a közepének nem kéne olyannak lennie. De mindegy már inkább megoldom úgy a problémát, hogy nem csinálok bazi nagy négyszögeket:DDD és akkor jó.
Pixelshaderhez meg nem értek.
Azér kösz a segítséget.

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#4) Frakk válasza GBX (#2) üzenetére


Frakk
(tag)

Ja, egyébként a pps ben is amit belinkeltél úgy írja, hogy radial per-vertex fog.

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#5) GBX válasza Frakk (#4) üzenetére


GBX
(fanatikus tag)

Akkor rosszul elmákeztem, sorry.
Viszont fixen tudom hogy a nvidia-nak volt egy ogl extension-e ami pont azt a fajta ködöt csinálja.
Tessék keresni.

HiTech 486 DX4 120Mhz AMD, 24MB 36bit RAM, 800 MB Conner HDD

(#6) Frakk válasza GBX (#5) üzenetére


Frakk
(tag)

Uhm. Akkor majd utánnanézek, kösz. De most asszem inkább belenyugodtam a per-vertex radial fogba, csak tegnapelőtt egy kissé belejöttem az OpenGL programozásba, és nem akartam megelégedni:)). De most, hogy így belegondolok, arra, amire nekem kell, talán még jobb is hogy vertexenként csinálja, gondolom úgy gyorsabb, és ha végülis nincsenek túl nagy polygonok, akkor ugyanolyan jó képet ad.

[Szerkesztve]

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#7) Protezis


Protezis
(őstag)
LOGOUT blog

Win XP alatt szeretném lefordítani a suliban linux alatt működő forrásfájlokat.
MinGW-vel dolgozok. Leszedtem a glut-ot, elvileg jó helyre be is másoltam a fájlokat.
De nem akarja az igazat. Az alábbi csak egy példaprogram:


// Friendly.c
// A Friendly OpenGL Program
// OpenGL SuperBible, 2nd Edition
// Richard S. Wright Jr.

#include <GL/glut.h>

// Called to draw scene
void RenderScene(void)
{
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);



// Flush drawing commands
glFlush();
}


// Setup the rendering state
void SetupRC(void)
{
// Set clear color to blue
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);


}



// Main program entry point
int main(void)
{
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutCreateWindow(''Simple'');
glutDisplayFunc(RenderScene);

SetupRC();

glutMainLoop();

return 0;
}



Fordításnál kibök jónéhány undefinied reference to... hibát.
pl: glutInitDisplayMode, glutMainLoop stb.

Egy oldalon találtam leírást a glut telepítéséhez, és az ott lévő példaprogram lefordul a köv. módszerrel:
gcc testgl.c –o testgl -lopengl32 -lglu32 -lglut32

A fenti példa viszont így se. Mi lehet a gond? Windowshoz ragaszkodom! :)

The box said "Requires Windows 95 or better." So I installed LINUX

(#8) Protezis


Protezis
(őstag)
LOGOUT blog

Bővebben: link alapján beállítottam a Borland fordítót. Az előbbi simple.c-t le is fordítja, viszont megint van pár dolog amit nem fordít le. A gl.h-ban talál declaration syntax errort az 1153-1177-ig tartó sorokban. Nem értem :F
Akár az előbbi, akár az ehhez a hsz-hez kapcsolódó helpet szívesen veszek :)

The box said "Requires Windows 95 or better." So I installed LINUX

(#9) Protezis


Protezis
(őstag)
LOGOUT blog

UP!

The box said "Requires Windows 95 or better." So I installed LINUX

(#10) Protezis


Protezis
(őstag)
LOGOUT blog

UP!

The box said "Requires Windows 95 or better." So I installed LINUX

(#11) ALI_G válasza Protezis (#10) üzenetére


ALI_G
(PH! kedvence)
LOGOUT blog

én is UP :Y, mert nekem sem fordulnak :(

(#12) BaLinux válasza ALI_G (#11) üzenetére


BaLinux
(tag)

Sokat segíthetne, ha idecopyznátok a pontos paraméterezését, ahogy futtatjátok a fordítót, és a pontos hibaüzeneteket.

(#13) ALI_G


ALI_G
(PH! kedvence)
LOGOUT blog

nemmegy a fordítás :(
[link] ez alapján csináltam mindent, de pár dolog nem stimmelt vele:
-Győződjünk meg arról, hogy a c:\BORLAND\BCC55\Bin\ könyvtárban található konfigurációs file-ok tartalmazzák a következőket:


* bcc32.cfg
-I''c:\Borland\Bcc55\include'' -L''c:\Borland\Bcc55\lib''''
* ilink32.cfg
-L''c:\Borland\Bcc55\lib'' -L''c:\Borland\Bcc55\lib\PSDK''


ez a két fájl nem is létezett eleve, nosza neki csináltam mindkettőt. Belemásoltam a fent írtakat (pl: I''c:\Borland\Bcc55\include'' -L''c:\Borland\Bcc55\lib'' /- kötőjel nélkül -/).

Készítsük el a Borland-specifikus glut32.lib könyvtárat:
implib glut32.lib glut32.dll

Ezt nem igazán vágtam, de bemásoltam cmd-be. le is futott vmi. csinált 1 fájlt a BCC55-ön belül. glut32.lib ezt.
Aztán másoltam is (Másoljuk át a következő file-okat: ...)
Majd fordítás, egy simpla fájl: hibaüzenet-tel zajlott le
ERROR E2075 Incorrect confuguration file option: borland\bcc55\include

Mit rontottam el? (sürgős, pls)

csak tudnám, hogy ha CODE-ba rakom a ''-t akkor miért rakja át ' ' -ra :F

[Szerkesztve]

(#14) c4-eXp válasza ALI_G (#13) üzenetére


c4-eXp
(fanatikus tag)

Nincs visual c++-od? Mert én azzal csináltam glut-és programokat, és ott gond nélkül működtek.

while (state(Korso) != _BROKEN) go(Korso, &Kut);

(#15) ALI_G válasza c4-eXp (#14) üzenetére


ALI_G
(PH! kedvence)
LOGOUT blog

Nincs, de ha ezzel nem fog menni záros határidőn belül, akkor megpróbálom VC-vel. Csak azzal is mire rágyüvök hogy megy. Vagy tud alapból glut-ot? Még sose raktam fel VC-t. (elkezdem letölteni)

(#16) c4-eXp válasza ALI_G (#15) üzenetére


c4-eXp
(fanatikus tag)

Addig keresek egy oldalt, ahol leírják a glut installálását. Nem valami bonyolult ha jól emléxem, de már rég volt.:DDD

while (state(Korso) != _BROKEN) go(Korso, &Kut);

(#17) _Petya_


_Petya_
(őstag)

Üdv!

Azt meg se kérdezem, miért nem linux alatt fordítjátok a kötprogit, vagy miért nem ssh-ztok, de ha már win alatt kell, akkor itt van hozzá a manual: :U

Visual C++: [link]
Borland: [link]
.NET: [link]

Petya

[Szerkesztve]

Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!

(#18) c4-eXp válasza ALI_G (#15) üzenetére


c4-eXp
(fanatikus tag)

[link]
[link]
No itt van két oldal. Mindkettő visual c++-hoz írja le az installálást. Sok sikert. ;)

szerk.: Hmm, megelőztek.:D

[Szerkesztve]

while (state(Korso) != _BROKEN) go(Korso, &Kut);

(#19) ALI_G


ALI_G
(PH! kedvence)
LOGOUT blog

ezer kösz, mindkettőtöknek
Petya: azért, mert az alaplapom gariztatni van, még mindig fent csücsülnek rajta Pesten, már több mint egy hete, és haver gépén kell vmit kreálnom (már így is szétberheltem rakás progival, és még csak pár dolog van fent, amik nékülözhetetlenek nekem. Neki tuti nékülözhető, geográfus :) nem is bika a gép, akad össze-vissza, de több mint a semmi)

(#20) ALI_G válasza ALI_G (#13) üzenetére


ALI_G
(PH! kedvence)
LOGOUT blog

közben asszem rájöttem mi volt a baj:
a kódba nem illesztettem be a #include <windows.h> sort - amit fordítani próbáltam volna linux-os volt (context-tel átformázva dos-osra). :B

[Szerkesztve]

(#21) ALI_G


ALI_G
(PH! kedvence)
LOGOUT blog

Nem ez volt a baj :( a BC még mindig ugyanazt a hibát adja vissza.
A VC pedig 102 hibát talál :( vmi súlyos user error lehet itt. pls vki help

(#22) ALI_G


ALI_G
(PH! kedvence)
LOGOUT blog

meg van, a lib fájlom nem volt jó...kicseréltem és műxik minden.

(#23) c4-eXp válasza ALI_G (#22) üzenetére


c4-eXp
(fanatikus tag)

Na akkor jöhet a Quake 5.:DDD

while (state(Korso) != _BROKEN) go(Korso, &Kut);

(#24) yksz


yksz
(fanatikus tag)
LOGOUT blog

Pls help! Delphi alatt mert még ebben írom a progikat a mipmapped textúrák helyett csak egy pár potty jelenik meg, a tutrialos jól megírt kóddal is. Mi lehet a gond? :F

Hmmm???

(#25) Frakk válasza yksz (#24) üzenetére


Frakk
(tag)

Bár én nem delphit használok, jó lenne ha valami kódot mutatnál, meg esetleg hogy hogy néz ki az a pár pötty.

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#26) yksz válasza Frakk (#25) üzenetére


yksz
(fanatikus tag)
LOGOUT blog

[link]
glBindTexture(GL_TEXTURE_2D,texture[2]);
GLTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
gluBuild2DMipmaps(GL_TEXTURE_2D,3,TextureImage[0].sizeX,textureimage[0].sizeY,GL_RGB,GL_UNSIGNED_BYTE,textureimage[0].data);

nagyjából így néz ki minden.

Hmmm???

(#27) Frakk válasza yksz (#26) üzenetére


Frakk
(tag)

Bocs hogy csak most írok, de teljesen kiment a fejemből ez a topic. Ha nem mipmapos texturát, hanem simát használsz, akkor normális a kép?
Addig még nézegetem, hátha rájövök mi lehet a hiba. Én már csináltam mipmapot, és működött is, mondjuk szvsz csúnya ha lapos szögben nézünk rá, szal azon kívül hogy kipróbáltam, nem használom sehol. :))

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#28) yksz válasza Frakk (#27) üzenetére


yksz
(fanatikus tag)
LOGOUT blog

a tobbi textúrát megcsinálja úgy ahogy kell, csak ezt nem. De ha nem is olyan jó, akkor nem is fontos, maradok annaĺ amelyiket csinálja is:D

Hmmm???

(#29) Frakk válasza yksz (#28) üzenetére


Frakk
(tag)

Hát ez az én személyes véleményem a mipmapingról. Ugyanis azt teszi, hogy ha egy pixeled alatt több texel is van, akkor ott kisebb felbontású textúrát használ. Ennek az az eredménye, hogy ha lapos szögben nézel rá, akkor a távolsághoz képest nagyon kicsi textúrát választ, ezért lesz minden olyan elmosódott. Az anizotróp szűrés ugyanazt a problémát oldja meg mint a mipmaping, csak az normálisan. Ott az egy pixel alatt lévő texelek színét átlagolja. Ennek a hátránya a mipmapinghoz képest, hogy lassítja a renderelést (persze ez függ attól, hogy hányszoros, és hogy milyen vidkarid van), és ha a taxtúra túl messze van, vagy túl laposszögben nézel rá, akkor túl sok texel van egy pixel mögött, és nem tudja mindet átlagolni, tehát a látvány kb olyasmi lesz mint szűrés nélkül. Én ezt a saját progimban úgy oldottam meg, hogy egyszerűen távolságtól függően lecserélem a textúrákat mindig egyre kisebbre, tulajdonképpen ugyanúgy mint a mipmaping, azzal a különbséggel, hogy ott nem a távolság számít, hanem az hogy egy pixel mögött hány texel van (a mipmaping úgy választja ki a textúra méretét, hogy csak egy legyen).

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#30) Frakk válasza yksz (#28) üzenetére


Frakk
(tag)

Várjálcsak, lehet amúgy hogy a textúra méretével van a baj. Annak ugyanis ha mindenigaz szélességnek és magasságnak meg kell egyeznie, méghozzá úgy, hogy kettő hatvány legyen. Pl: 1024*1024, 512*512, 256*256, és így tovább.

szerk: bár én továbbra is azt tanácsolom, hogy ne használj mipmapingot, inkább válassz mindig a távolságnak megfelelő méretű textúrát, és kapcsold be az anizot.

[Szerkesztve]

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#31) yksz válasza Frakk (#30) üzenetére


yksz
(fanatikus tag)
LOGOUT blog

thx a helpet :R

Hmmm???

(#32) c4-eXp válasza Frakk (#30) üzenetére


c4-eXp
(fanatikus tag)

Nem feltétlenül kell négyzet alakúnak lennie a textúrának, az oldala pedig különbözhet 2 hatványától. Legalábbis a mostani videokártyák már mind támogatják ezt. Pl. a radeon 9200-as, szóval nem is kell a legmodernebbekre gondolni. Persze ha a vidkari egy régebbi modell, akkor lehet ez a probléma.
Egyébként meg bocs, hogy dx fan létemre beleóbégatok a topikodba.:DDD

while (state(Korso) != _BROKEN) go(Korso, &Kut);

(#33) Frakk válasza c4-eXp (#32) üzenetére


Frakk
(tag)

Télleg nem, de ha mipmaping-ot használsz akkor legjobb tudomásom szerint igen, mert máskép nem tudja legenerálni a képpiramist. Mindegy, a kérdés úgyis tárgytalan, hiszen mint megbeszéltük a mipmaping okádékul néz ki, tehát nemhasználjuk. :DDD

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#34) Frakk válasza c4-eXp (#32) üzenetére


Frakk
(tag)

Van dx topic is? Bár gondolom nincs :DDD . OpenGL for ever :DDD

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#35) c4-eXp válasza Frakk (#33) üzenetére


c4-eXp
(fanatikus tag)

Félreértettem a dolgot. Azt hittem, hogy csak simán a textúrákra vonatkozik az állítás.:) Mipmap-hez én is úgy tudom, hogy csak négyzet alakú, és 2 hatvány oldalú textúrát lehet használni.

while (state(Korso) != _BROKEN) go(Korso, &Kut);

(#36) c4-eXp válasza Frakk (#34) üzenetére


c4-eXp
(fanatikus tag)

Majd nyitok.;]

while (state(Korso) != _BROKEN) go(Korso, &Kut);

(#37) timoti2002


timoti2002
(újonc)

Hali!

Elég analfabéta vagyok Opengl-ben. Egy progrmaot kell leadnunk e tárgyból. Ehhez megkéne csinálnom azt, hogy ha rohangálok a hóemberek között, NE MENYEK ÁT RAJTUK! Valaki tudna segíteni, mert számomra ez kivitelezhetetlen.

Előre is köszönök minden segítő szándékot!

(#38) sghc_toma válasza timoti2002 (#37) üzenetére


sghc_toma
(senior tag)
LOGOUT blog

ahOi!

Ha nem kell túl nagy precizitás, akkor megadod a hóembereknek és a rohangáló akárminek a befoglaló gömbjének a sugarát. Két gömbre pedig már egyszerűen el lehet végezni az ütközésdetektálást:
hóembert bef. gömb sugara: R, középpontja: P(X,Y,Z)
a rohangáló akármit bef. gömb sugara: r, középpontja: p(x,y,z)
ha | p(x,y,z)-P(X,Y,Z) | <= R+r, akkor a két gömb ütközik.
Innen már könnyen le lehet kezelni a dolgot (csak olyan irányba engeded mozogni, hogy ne ütközzön a két gömb.)

amúgy NeHe-n van egy collision detection tutorial: [link]

in asm we trust

(#39) Frakk válasza timoti2002 (#37) üzenetére


Frakk
(tag)

Ha tudsz rajzolni OpenGL-ben, akkor ez a feladat OpenGL-től gyakorlatilag független, és azt kell csinálnod, amit toma írt neked. OpenGL-ben csak rajzoló függvények vannak, minden mást neked kell megprogramozni.

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#40) sghc_toma válasza Frakk (#39) üzenetére


sghc_toma
(senior tag)
LOGOUT blog

most elgondolkodtam a dolgon, és eszembe jutott vmi. lehet, hogy már alkalmazzák ezt az eljárást, lehet, hogy teljesen használhatatlan, ez most egy ilyen fárasztó nap utáni hirtelen gondolat: minden egyes ojjektumnak adok egy színt(mindegyiknek mást, ez max 2^24(32?)-en db ojjektum). Ezután a tényleges render előtt renderelem a scene-t úgy,h a háttér mondjuk fekete, az objektumok meg a unique color-juknak megfelelő színűek (persze alpha blending, lightning off). Ekkor a framebuffer-ből kiolvasom a pixelek színeit, és ha van két eltérő színű egymás mellett, akkor a két tárgy ütközik..

[add]
ja, hülye vok, ez csak 2d-ben okk. éppen most csinálunk egy barátommal egy point&click játékot, és én most folyton 2d-ben gondolkodom.. meg fáradt is vagyok pöttyet.

...de a z-bufferrel talán lehetne vmit kezdeni. ha megegyezik az eltérő pixelek z-értéke, akkor ütközés van. vagy nem? áááá, fáradt vok gondolkodni. majd holnap, kipihenten...

[Szerkesztve]

in asm we trust

(#41) Frakk válasza sghc_toma (#40) üzenetére


Frakk
(tag)

Hát, szerintem a hagyományos módszer egyszerűbb :).

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#42) sghc_toma válasza Frakk (#41) üzenetére


sghc_toma
(senior tag)
LOGOUT blog

ez tény, de ez pontosabb. mondjuk egy fps-ben jól jön, ha nem hitboxokkal kell szórakozni. igazából nem is a hóemberes dologhoz gondoltam, hanem csak úgy eszembe jutott.
még a héten sztem kipróbálom, mennyire működik a dolog..

in asm we trust

(#43) ngy_tms


ngy_tms
(újonc)

Sziasztok!

Van egy kockám, azon textúra van. A kocka zöld.
A texturán van egy piros kör. Körülötte fekete a textúra.

Azt szeretném, hogy valami blendinggel a fekete eltűnjön
és alatta a zöld látsszon.

légyszi dobjatok meg egy maillel is ha válaszoltok, köszi.
ngy_tms@yahoo.com

(#44) QuarK válasza ngy_tms (#43) üzenetére


QuarK
(senior tag)

ha jol ertelek, akkor zold szinu kockat akarsz, amin piros folt van; akkor pedig ket menetben kell rajzolnod (hacsak nem multitexturazast hasznalsz, es a zold szint is, mint textura feszited fel a kockara)

glColor4f( 0.0, 1.0, 0.0, 1.0);
glBegin( GL_QUADS); // vagy amivel kirajzolod a kockat
glVertex3f( x, y, z);
...
...
...
glEnd();

majd

glEnable( GL_TEXTURE_2D);
glBindTexture( GL_TEXTURE_2D, pirospotty);
glTexEnvf( GL_TEXTURE_2D, GL_TEXTURE_ENV_MODE, GL_DECAL);
glEnable( GL_BLEND);
glBlendFunc( GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);
glBegin( GL_QUADS);
glTexCoord2f( s, t);
glVertex3f( x, y, z);
...
...
...
glEnd();
glDisable( GL_BLEND);
glDisable( GL_TEXTURE_2D);

fontos, hogy ha z pufferelest is csinalsz, akkor glDepthFunc( GL_LEQUAL);... meg glEnable( GL_CULL_FACE); es glCullFace( GL_BACK);

meg feltetelezem, hogy nem ratyi glut-al rajzolod ki a kockat :)

[Szerkesztve]

(#45) ngy_tms válasza QuarK (#44) üzenetére


ngy_tms
(újonc)

OK.

És az alábbival most az akarom, hogy a kocka alapszíne nem zöld, hanem teljesen
átlátszó. Szóval 6 db levegőben lebegő piros kört akarok, amelyek a kocka lapjain
vannak elhelyezve, de maga a kocka nem látszik.

(#46) (Kolombusz) válasza ngy_tms (#45) üzenetére


(Kolombusz)
(PH! nagyúr)
LOGOUT blog

Csak nem jelzőlámpát akarsz csinálni? :))
Inkább programozd le, hogy windows alatt is jól fusson az autó. ;) :)

(#47) Frakk válasza ngy_tms (#45) üzenetére


Frakk
(tag)

Ha jól értelmeztem QuarK kódját, akkor az erre is jó, egyszerűen csak nem rajzolod ki először zölden a kockát ( tehát csak az kell, ami a ''majd'' után van ). Viszont ha azt akarod, hogy a hátul lévő piros körök is látszódjanak ( akkor lesz hat db ), akkor a hátsólap eldobást ki kell kapcsolnod ( glDisable( GL_CULL_FACE); ).

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#48) QuarK válasza Frakk (#47) üzenetére


QuarK
(senior tag)

egyszerűen csak nem rajzolod ki először zölden a kockát [...] a hátsólap eldobást ki kell kapcsolnod

ugy ahogy mondod


es akkor most nekem lenne ket kerdesem:

az egyik, hogyan lehet kikapcsolni a vsync-et? nalam most PFD_DOUBLEBUFFER flag a pixelformatdescriptor-nal, es SwapBuffers( hDC) minden frame vegen; es igy vagy 60, vagy 30, stb... lehet a frame/sec.

a masik, hogy egy kis overbright-ot szeretnek. jelenleg ugy oldom meg, hogy kis meretben lerenderelem a kepet, ezt glReadPixels-el beolvasom, az eleg fenyes keppontokat megtartom, a tobbit feketere cserelem, elmosom, feltoltom texturanak, majd rendes meretben is render, es erre rablendelem az elmosott kepet. van-e erre mas mod, ami gyorsabb? mert a glReadPixels feler egy glFinish-el, es bar boven 10ms alatt van a kis es a nagy kep renderelese, 30fps-re leesik a framerate.
vagy valami mas modszer, hogy kis ''ragyogast'' vigyek a kepbe...

(#49) Frakk válasza QuarK (#48) üzenetére


Frakk
(tag)

Azt nem tudom, hogy OpenGL-ben hogy lehet állítani a vsyncet, de vidkari beállításoknál be lehet állítani, hogy mindíg ki legyen kapcsolva. ( persze gondolom ezzel most nem sokat segítettem, csak gondoltam hátha erről nem tudsz )

''Egyebet nem tudok elmondani, kérem kapcsolja ki!''

(#50) QuarK válasza Frakk (#49) üzenetére


QuarK
(senior tag)

igen, tudtam; de azert koszi.

igazsag szerint azt hittem, csak a glFinish() szabalyozza, de anelkul is megvan a vsync, gondolom a SwapBuffers() eljaras meghivasakor tortenik... korbenezek, hatha van valami alternativ mod, hogy ne kelljen meghivnom

Copyright © 2000-2012 PROHARDVER Informatikai Kft.