Vai al contenuto

marioamb

Members
  • Portfolio

    Portfolio
  • Numero messaggi

    62
  • Registrato

  • Ultima Visita

Info su marioamb

  • Rango
    Matricola

Informazioni professionali

  • Sito Web
    http://
  1. Con le OpenGL potrai solo approssimare curve, superficie e volumi matematicamente descritti, è come i numeri in float point che sono una approssimazione dei numeri reali in matematica. Le GL_QUAD_STRIP sono semplicemente tanti quadrilateri: http://www.glprogramming.com/red/chapter02.html
  2. Tu non sai se poi le chiamate alle librerie esterne usano delle variabili globali le quali possono generare dei problemi tra i thread, il semplice lock che hai messo riguarda l'inizializzazione delle finestre, il resto delle chiamate possono interferirsi. Questo è uno dei motivi per cui è meglio far gestire la GUI ad un thread. L'errore è questo: La soluzione per me è non usare i thread, è facile basta guardare il codice d'esempio riportato prima.
  3. Se è vero ho sbagliato io quello che vuoi è una superficie. Le OpenGL hanno molte primitive base le quali possono approssimare superfici matematiche. Quello che esegui è un campionamento: float u, v; for (u = 0; u < 1; u = u + delta_u) for (v = 0; v < 1; v = v + delta_v) surface(u,v); è una suddivisione regolare di un quadrato quindi puoi usare GL_QUAD_STRIP costruendo in modo opportuno i dati come spiegato nella documentazione delle OpenGL. Se vuoi puoi vedere come è stato implementato il codice in questo programma open source per disegnare superfici matematiche generiche, usa le OpenGL per la visualizzazione: http://k3dsurf.sourceforge.net/
  4. Non si capisce molto quello che vuoi fare. Dal punto di vista matematico una applicazione da R2 -> R3 è un volume non una superficie. Se vuoi renderizzare volumi con le OpenGL si usano molte texture disposte come fette nello spazio del volume: http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node179.html
  5. Il nuovo codice sotto Linux salta ancora con un brutto errore. Programmare i thread non è facile, lo sconsiglio per un principiante, introduce solo problemi se vengono usati male. Se è possibile scrivere il codice senza thread è meglio farlo, si elimina una possibile fonte di bachi difficilmente individuabile anche con un debug. Le librerie che gestiscono le GUI di solito non sono thread safe se non esplicitamente progettate. Un buon programmatore di solito fa' gestire la GUI ad un solo thread per evitare problemi di implementazioni. Sbagliato i thread condividono lo stesso spazio di memoria, se un thread scrive una variabile letta da un altro thread, se non opportunamente gestita, si introduce un baco, di solito il programma esegue qualcosa di non valido e il sistema operativo termina il programma. Se leggi la manuale della "glutMainLoop": deve essere chiamata una sola volta in tutto il programma, nel tuo codice è presente due volte.
  6. Sono un esperto in OpenGL. Il tuo codice ha una brutta indentazione, ti consglio di guardare come vengono indentati di solito i programmi in C (io considero errore un codice mal indentato). Usi "system("pause")", cosa orribile e da evitare assolutamente. Il programma è concepito male infatti non funziona (sotto Linux salta con un brutto codice d'errore), usi i thread nel modo sbagliato, è possibile farlo senza scomodare i thread. Ti consiglio prima di imparare meglio il C, poi passare alle OpenGL. Per imparare le OpenGL puoi iniziare da "The Redbook" disponibile online: http://www.opengl.org/documentation/red_book/ Ti consiglio di imparare anche le GLUT: http://www.opengl.org/resources/libraries/glut/ hanno le funzioni per creare finestre OpenGL indipendenti attraverso la funzione "glutCreateWindow". Un esempio di finestre multiple in OpenGL senza thread o lanciare il comando "pause". http://www.opengl.org/resources/code/samples/glut_examples/examples/sphere.c
  7. Questo è programma per generare superfici matematiche esplicite, implicite, parametriche, ecc... fino a 6 dimensioni: http://k3dsurf.sourceforge.net/ è open source, multi piattaforma e usa le OpenGL.
  8. marioamb

    Blender 2.5 Alpha 0

    I sorgenti di Blender sono in un repository SVN pubblico: https://svn.blender.org/svnroot/bf-blender/ "trunk" contiene il codice principale, "branches" sono i rami del codice con nuove funzioni sperimentali, "tags" sono versioni del codice marcate con delle etichette. I sorgenti di Blender vengono modificati spesso, qui sono elencati gli ultimi cambiamenti: http://cia.vc/stats/project/Blender Compilare Blender è abbastanza semplice, serve un compilatore e le librerie necessarie, qui sono spiegati i passaggi per le versioni di Blender e del sistema operativo: http://wiki.blender.org/index.php/Dev:Doc/Building_Blender
  9. marioamb

    Blender 2.5 Alpha 0

    Già corretto: 2009-11-27 00:34 broken * [r24939] release/scripts/ui/space_view3d.py, source/blender/makesrna/intern/rna_space.c: Fix for [#20086] Mirror X, Z and Y crashes Blender 2.5 Alpha
  10. Prova con VNC: http://www.tightvnc.com/
  11. marioamb

    Dare Effetto Hdri Ai Render

    Credo che abbia sbagliato a scrivere il nome, si tratta di HDRR (High Dynamic Range Rendering): http://en.wikipedia.org/wiki/High_dynamic_range_rendering l'acronimo è simile a HDRI (High Dynamic Range Image) man sono due cose diverse.
  12. Si è possibile, basta impostare l'opzione "Write/Use FLM" e funziona testato con le ultime versione compilate sotto Linux dal CVS.
  13. marioamb

    Audi R8

    Come tutti i render unbiased solo per tempo uguale ad infinito l'errore è nullo (di solito ci si ferma prima). No è esterno, esiste un plugin in Python che esporta i dati della scena al render.
  14. marioamb

    Domanda Esistenziale Sulla Fisica Realtime Via Gpu

    Physx funziona solo con le ultime schede video NVIDIA, SDK è liberamente scaricabile: http://www.nvidia.com/object/nvidia_physx.html Esistono altre librerie opensource liberamente scaricabili che utilizzano solo la CPU ad esempio: OpenDE http://opende.sourceforge.net/ Bullet http://code.google.com/p/bullet/ glaze http://code.google.com/p/glaze/ ... Molti game engine commerciali o free hanno delle proprie librerie di calcolo della fisica.
  15. marioamb

    Normali Da Fileobj

    Scusa ma se usi OGRE e sai compilare e programmare negli addons di OGRE c'è già quello che ti serve: https://ogreaddons.svn.sourceforge.net/svnr...readdons/trunk/
×