io non riesco a trovare la risposta a questa domanda da nessuna parte. Mi rendo conto che devi usare pyOpenGL o qualcosa di simile per fare roba openGL, ma mi stavo chiedendo se è possibile fare grafica 3d molto semplice senza altre dipendenze.pyGame fa 3d?
risposta
No, Pygame è un wrapper per SDL, che è un'API 2D. Pygame non fornisce alcuna funzionalità 3D e probabilmente non lo farà mai.
Le librerie 3D per Python includono Panda3D e DirectPython, anche se sono probabilmente piuttosto complesse da utilizzare, specialmente il secondo.
Beh, se si può fare 2d si può sempre fare 3d. Tutto ciò che realmente è 3d è distorto di superfici bidimensionali che danno l'impressione di guardare qualcosa con profondità. La vera domanda è che può farlo bene e vorresti anche farlo. Dopo aver sfogliato la documentazione di pyGame per un po ', sembra che sia solo un wrapper SDL. SDL non è inteso per la programmazione 3d, quindi la risposta alla vera domanda è, No, e non ci proverei nemmeno.
Ho provato. In effetti, ho già scritto un'intera emulazione di OpenGL in C++. È brutto e imparare una vera API 3D è un'idea MOLTO migliore finché non sai cosa stai facendo con la tecnologia 3D. – imallett
Python Soya può eseguire rendering di grafica 3D su superfici pygame.
Si può fare giochi di pseudo-3d (come "Doom") con pygame solo:
http://code.google.com/p/gh0stenstein/
e se si esplora il sito pygame.org si possono trovare più "3d" giochi fatto con python e pygame.
Tuttavia, se si vuole veramente passare alla programmazione 3d, è necessario consultare OpenGl, Blender o qualsiasi altra libreria 3D reale.
Se si desidera funzioni di proiezione 3D e tutte quelle cose che si dovrà utilizzare un'API 3D, ma se si vuole fare un aspetto di base 3D vi consiglio di Peter Sito tutorial: http://www.petercollingridge.co.uk/pygame-3d-graphics-tutorial
Pygame non è mai stato originariamente significava fare 3d, ma c'è un modo in cui puoi fare 3d con qualsiasi libreria di grafica 2d. Tutto ciò di cui hai bisogno è la seguente funzione, che converte i punti 3D in punti 2D, che ti permettono di creare qualsiasi forma 3D semplicemente disegnando linee su uno schermo.
def convert_to_2d(point=[0,0,0]):
return [point[0]*(point[2]*.3),point[1]*(point[2]*.3)]
Questo è chiamato pseudo 3d o 2,5 d. Questo può essere fatto, ma può essere lento, ed è estremamente difficile da fare, quindi è consigliabile utilizzare una libreria pensata per 3d.
- 1. Visualizzazioni multiple in Pygame
- 2. Zend_Mail e = 0D = 0A = 3D = 3D = 3D = 3D = 3D
- 3. Che cosa fa un 3D in questo HTML?
- 4. Pygame equivalente per Ruby?
- 5. Nascondere display pygame
- 6. Effetto ripple dell'acqua Pygame
- 7. Errore durante l'importazione Pygame
- 8. Forme antialiasing in Pygame
- 9. Caratteri Unicode in PyGame
- 10. Ruota immagine usando pygame
- 11. Pygame - Ritardo suono
- 12. impossibile importare pygame
- 13. organizzazione del codice pygame
- 14. Pygame: Draw single pixel
- 15. Installazione Pygame per Python 3.3
- 16. pygame dual monitor e fullscreen
- 17. Come utilizzare gfx in pygame
- 18. pygame audio velocità di riproduzione
- 19. Come visualizzare l'immagine in pygame?
- 20. Rilevazione clic del mouse Pygame
- 21. Triangolo di Sierpinski Pygame Ricorsivo
- 22. Networking di base con Pygame
- 23. Che gui toolkit dovrei usare con Pygame?
- 24. bordo SELECT in rendering 3D 3D
- 25. Raccolta grafica 3D
- 26. Modellazione 3D per programmatori
- 27. Le migliori risorse per l'apprendimento di PyGame?
- 28. PyGame: sprite traslucidi con pixel alfa
- 29. Moderni, non banali, tutorial su Pygame?
- 30. Come inviare un'immagine pygame tramite websocket?
Cosa c'è di sbagliato su questo? Pygame non fa 3d. PyOpenGL fa 3d. Rileggere la sua domanda – Kylotan
Sì, attualmente sto scrivendo un gioco 3D. E non sto nemmeno usando OpenGL. Sto usando un metodo come quello pubblicato da Horst JENS. – Cnorwood7641