5corpio Napisano Lipiec 27, 2006 Zgłoś Share Napisano Lipiec 27, 2006 Mam dziwny problem z VBO. Bo wydaje mi się, że robie tak jak w wielu przykładach jednak program w momencie w którym jest wypełnianie bufora danymi coś się zacina i zostaje tylko wyłączenie go.Otóż wszystko przeprowadzam w taki sposób:1. [b]Standartowo: [code=Delphi] const GL_ARRAY_BUFFER_ARB = $8892; GL_STATIC_DRAW_ARH MBBCBBÓSQTTHYJ&vWCtĆVVÓ'VffW#tVB7FF6ĆdtDTUDT%TddU%I AI=Ą1A1Ńall; PFNGLGENBUFFERSARBPROC = procedure(n :GLsizei; buffeÓZ[ N[BÓQTUPTHYJF&vWCtĆVVÓ6ŚSFVvW#67BFFFW#W6vStŃą4(4)4(ą IA919 UIMIPROC = nil; glBindBufferARB: PFNGLBINDBUFFERARBPROC = nilBY]PTÓQTUPTH[B[FT'VffW'4$#dtDTUDT%TddU%4$%$2ćFĆV14(4(ą IąŃAą ffersARB'); glBindBufferARB := wglGetProcAddress('glBindBYTĘNBY]PTH]YĘ YFF$\"rvFVĆWFT'VffW'4$\"ŁvvvWE&4FG&W72vvFVĆŃ I4(cZgĘY(ui' vertexNum := Length(fVertices); glGenBuffersARB(1, XĘNB[YTÓTVWQTTF6W2f&fW'F6W2tVCv'VffW$FF$\"t%$UI}IąM=ĄYŃYŃ1}MQQ% }I]}I//fVertices : Array of TMESH_VERTEX;(TMESH_VERTEX ma 3 GLFLo]^JCBB[YTKÓX[ĘNB[YT\"t%$%TddU%$\"f&ć&2f&ć&2tVCą ŃIĄ1}IIe} UI}IąM=Ą9ą9ls, GL_STATIC_DRAW_ARB); //Podając rozmiar bufforu próbowałeHo[ X[ĘH ^SÓŃU H[HXHŚVFćw6GŚćRvvV'VffW'4$\"f&6&G2ą IĄ1}IIe} UI}I ź s : GLuint; glBufferDataARB(GL_ARRAY_BUFFER_ARB,SizeOf(fCĘKÓUPŃUTNB śĘGzZaB[^JÓVTW^K^NBB[fĆT6ĆVE7FFRtdU%DU%$vVć&ĆT6ĆVE7FFRt51}IId4(ąą ąŃMŃŃĄ1}QaQUI} ==I}IId glBindBufferARB(GL_ARRAY_BUFFER_ARB,vboVertices); glY^[ÓŃU NB[YTÓTVt%TddU%$\"f&ć&2vć&FW\"tdBą IĄ1}IIe} UI}Ią 4(ąQ ŻrdPointer(2, GL_FLOAT, 0, 0); glDrawArrays(GL_TRIANGLEK^[JNBBXPY[]JÓTVTVJNvF6&ĆT6ĆVE7FFRt$%$vF6&ĆT6ĆVMŃŃĄ1}QaQUI} ==I}IId4 [/code](te włączanie stanu i wyłączania można wsadzić tylko raz oczywiście ale póki co zostawiłem ;p)Kompletnie nie rozumiem czemu z tego wynika jakiś problem. Wszędzie gdzie opisują VBO głównie tylko tak to jest zaprezentowane.Nie mam nigdzie sprawdzania czy to rozszerzenie jest dostępne bo jestem pewien na 100%, że jest. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Spider100 Napisano Lipiec 27, 2006 Zgłoś Share Napisano Lipiec 27, 2006 [quote=delphi]{------------------------------------------------------------------------------}{ Generowanie vbo 2D }procedure GenDataVBO(var ABuffer: GLuint; const ATarget, Usage: Cardinal; var AData: array of TVector2D); overload;begin glGenBuffersARB(1, @ABuffer); glBindBufferARB(ATarget, ABuffer); glBufferDataARB(ATarget, length(AData) * 8, @AData, Usage);end;{------------------------------------------------------------------------------}{ Generowanie vbo 3D }procedure GenDataVBO(var ABuffer: GLuint; const ATarget, Usage: Cardinal; var AData: array of TVector3D); overload;begin glGenBuffersARB(1, @ABuffer); glBindBufferARB(ATarget, ABuffer); glBufferDataARB(ATarget, length(AData) * 12, @AData, Usage);end;[/syntax:6b857efc2c]Nie jest to najlepsze wyjście ale ułatwia pracę z buforami .Po za tym trudno mi jest znaleźć jakiś inny błąd najlepiej spróbuj na początek wyświetlić sam bufor wierzchołków bez normalnych i tekstur wtedy będzie Ci łatwiej kombinować z błędami.[Edit]Jeszcze jakieś niezgodności widzę w GlBufferDataARB bo u mnie jest @AData ale nie jestem pewien czy to ma jakieś znaczenie w tym przypadku bo dawno nie ruszałem buforów ani nie wiem co za dane tam masz www.spider.dathox.com Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Lipiec 27, 2006 Autor Zgłoś Share Napisano Lipiec 27, 2006 Sam jeden bufor już próbowałem nic :/.Poza tym dodanie @ nic nie zmienia ;p Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Spider100 Napisano Lipiec 27, 2006 Zgłoś Share Napisano Lipiec 27, 2006 http://www.dathox.unit1.pl/files/VBO.rarKiedyś pisałem to jak chciałem zrobić VBO i multiteksturing jednocześnie jest trochę komentarzy może coś z tego wyciągniesz .PS: Dajcie mi skończyć gierkę www.spider.dathox.com Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Lipiec 27, 2006 Autor Zgłoś Share Napisano Lipiec 27, 2006 No tak pomógł mi w tym dziale nie działa. Oczywiście błąd nie był związany bezpośrednio z kodem VBO wszystko było ok.Dzięki Spider po kroczkach już wiem co było źle. Wysyłałem złą geometrie ;p Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Spider100 Napisano Lipiec 27, 2006 Zgłoś Share Napisano Lipiec 27, 2006 [quote] No tak pomógł mi w tym dziale nie działa [/quote]Cały czas 0 będę rekordzistą 8) www.spider.dathox.com Link do komentarza Udostępnij na innych stronach More sharing options...
ktoś Napisano Lipiec 27, 2006 Zgłoś Share Napisano Lipiec 27, 2006 Może któryś z ADMINISTRATORÓW doda taką możliwość w działach dot. grafiki? bo zdaje się, że w innych też nie ma "pomógł" Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.