Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 151. brněnský sraz, který proběhne v pátek 20. 4. od 18:00 hodin v restauraci Benjamin na Drobného 46.
Byla vydána verze 18.04.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi.
Bylo oznámeno vydání nové stabilní verze 1.26 a beta verze 1.27 open source textového editoru Atom (Wikipedie). Přehled novinek i s náhledy v příspěvku na blogu. Podrobnosti v poznámkách k vydání.
Dle plánu byla dnes vydána hra Rise of the Tomb Raider (Wikipedie) pro Linux. Koupit ji lze za 49,99 €.
Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 254 bezpečnostních chyb. V Oracle Java SE je například opraveno 14 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 12 z nich. V Oracle MySQL je opraveno 33 bezpečnostních chyb. Vzdáleně zneužitelné bez autentizace jsou 2 z nich.
Byla vydána verze 8.0 linuxové distribuce Trisquel GNU/Linux. Nejnovější verze Trisquel nese kódové jméno Flidas a bude podporována do roku 2021. Výchozím prostředím je nově MATE 1.12. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).
Byla vydána nová verze 27.9.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání. Jedná se o poslední větší aktualizaci verze 27. Vývojáři se zaměří na novou verzi 28.
Google Chrome 66 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 66.0.3359.117 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 62 bezpečnostních chyb.
Byla vydána druhá RC verze nové řady 2.10 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP. Přehled novinek i s náhledy v oznámení o vydání.
Již tento čtvrtek (19. 4.) se v posluchárně 107 na Fakultě informačních technologií ČVUT v Praze Dejvicích odehraje večer s Turrisem, tentokrát zaměřený na nový modulární router MOX. Mluvit o něm budou Patrick Zandl a Ondřej Filip, ale bude i prostor pro dotazy a diskuzi s vývojáři. Akce začíná v 18:00 a plánovaný konec je v 19:45. Mapka, kde se nachází daná posluchárna, a možnost registrace je k dispozici na webu CZ.NIC.
Čau, snažím se rozjet v code:block tento kód:
#define GLEW_STATIC #include <GL/glew.h> #include <GL/glut.h> #include <stdlib.h> #include <stdio.h> // nekdy je potreba pouzivat funkce s priponou ARB... #ifdef USE_ARB #define glBindBuffer glBindBufferARB #define glGenBuffers glGenBuffersARB #define glBufferData glBufferDataARB #define glBufferSubData glBufferSubDataARB #define glDeleteBuffers glDeleteBuffersARB #endif /* Priklad na Vertex Buffer Objects ================================ Oproti predchozimu (Vertex Arrays) je toto prvni metoda, ktera nahrava objekty primo do pameti graficke karty, diky cemuz pak neni nutne pri kazdem kresleni prenaset nejaka vetsi data mezi programem a grafickou kartou. Princip: 1) V inicializaci vytvorim VBO a do neho nahraju vsechna data, ta pak mohu smazat z uzivatelske pameti 2) Lze tam kombinovat souradnice i barvy i dalsi veci 3) Pri kresleni je potreba zabindovat patricny buffer - ten se identifikuje pouze integerem 4) Dale je treba nastavit ukazatele, pokazde znova 5) Pole lze delat prokladane nebo to davat kamkoliv, predavaji se tam ukazatele 6) Kreslime to stejnym prikazem jako VertexArrays, to je totiz asi uplne jedno, ty funkce budou pretizene a akorat berou data z jineho zdroje */ // identifikator bufferu, mimo funkce staci jen toto GLuint vbo_id; void init(void) { glClearColor (0.0, 0.0, 0.0, 0.0); glClearDepth(1.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0, 800, 0, 600); // v initu je nyni potreba vytvorit VBO a nahrat do nej data, // cimzto se data nahraji do graficke karty a z uzivatelske // pameti mohou byt vymazana // (kolik_bufferu_chci, ukazatel_kam_zapsat_vznikle_id) glGenBuffers(1, &vbo_id); printf("get error = %i\n", glGetError()); // tato data jsou pouze lokalni na zasobniku, pak je mozne je // smazat... static GLfloat triangles[] = { 0.0, 0.0, 1.0, 0.0, 0.0, 200.0, 200.0, 1.0, 1.0, 0.0, 0.0, 200.0, 0.0, 1.0, 1.0, 300.0, 300.0, 1.0, 0.0, 0.0, 600.0, 500.0, 0.0, 0.0, 1.0, 300.0, 450.0, 1.0, 0.0, 1.0 }; // jdem nahrat data do bufferu glBindBuffer(GL_ARRAY_BUFFER, vbo_id); glBufferData(GL_ARRAY_BUFFER, sizeof(triangles), triangles, GL_STATIC_DRAW); // dalsi funkce je pro pripadne dalsi data // glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(triangles), triangles); // BYLO BY FAJN v nejakem destruktoru volat funkci glDeleteBuffers, // ale to tady v tomto priklade neni... glutMainLoop uz neskonci, ale // pri ukoncovani programu by se mely volat napr. destruktory sceny, takze // pokud mame nejakou statickou scenu, tak muzeme uklid dat tam... dalsi // varianta je UDAJNE registrace callbacku atexit(func_to_be_called) u // ostatnich callbacku } void onDisplay(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // tady se to musi zapnout glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_COLOR_ARRAY); // zabindujeme buffer, nutno delat pred kazdym kreslenim glBindBuffer(GL_ARRAY_BUFFER, vbo_id); // nastavime pointery... TENTOKRAT MAME NA KONCI INT pouze pretypovany na void * // --> takze to nikam neukazuje, je to jen index glVertexPointer(2, GL_FLOAT, 5 * sizeof(GLfloat), (GLvoid *) 0); glColorPointer(3, GL_FLOAT, 5 * sizeof(GLfloat), (void *) (2 * sizeof(GL_FLOAT))); // vykreslime VBO glDrawArrays(GL_TRIANGLES, 0, 6); // vypnem to glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_COLOR_ARRAY); // zapiseme zmeny glFlush(); } void onReshape (int w, int h) { glViewport (0, 0, (GLsizei) w, (GLsizei) h); } void onKeyboard(unsigned char key, int x, int y) { switch (key) { case 27: exit(0); break; } glutPostRedisplay(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGBA | GLUT_DEPTH); glutInitWindowSize (800, 600); glutInitWindowPosition (100, 100); glutCreateWindow ("Polopaticky mustr na Vertex Buffer Objects"); GLenum err = glewInit(); init (); glutDisplayFunc(onDisplay); glutReshapeFunc(onReshape); glutKeyboardFunc(onKeyboard); glutMainLoop(); return 0; }
Mám v systému tyto balíčky:
freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev
A stále mi to háže chyby kterým nerozumím. Viz příloha.
Tuší někdo kde mám chybu?
Díky Dan
Pro úspěšné vytvoření binárky jí musíš slinkovat s knihovnami libglut.so a libGLEW.so:
$ gcc -lglut -lGLEW -o test test.c
/usr
bylo správně (pokud ovšem v usr jsou podadresáře include
a lib
a tam jsou ty .h
a .a,.so
).
Tiskni
Sdílej: