Ver la versión completa : Quien decia que la GP32 no tenia 3D??
A.r.R.c.H.E.r
10/09/2005, 13:28
Bueno pues estoy trabajando en un engine3D para la GP32, de momento va bastante bien solo tendra FLAT shading pero creo que es suficiente para hacer buenos juegos y sino vease Virtua Racing :). Bueno os dejo una demo para que veais que tal va y comenteis que os parece. Ya os adelanto que estoy con un juego que utiliza este engine pero aun no os puedo decir mas. Hasta dentro de 7 dias que hoy me voy de vacaciones que valla bien!
PD- Se cambia la velocidad con el gatillo derecho :D a 66Mhz va a 25 fps :D
yo tambien voy a probar a ver que tal tira ;)
A.r.R.c.H.E.r
10/09/2005, 13:46
Pero poner comentarios cuando lo hayais visto pa que la gente se pique y lo vea jejej :D
Luisimage
10/09/2005, 14:17
Pues pinta realmente bien para ser una demo. 23 fps a 66mHz es un rendimiento estupendo, pero claro, de momento sólo hay una figura que se va moviendo sola. Si consigues hacer un jueguecillo con esa calidad a 133mHz, te va a quedar algo realmente c.ojonudo. Felicidades y ánimo con el proyecto, que puede salir algo grande!!!
Se ve genial, a 66 MHz entre 23-25 fps, a 133 MHz sobre los 45 fps y a 166 MHz a unos 53-55 fps. Además lo de flat shading es buena idea, yo ya he visto un par de juegos de carreras (a parte del Virtua Racing) que usan esta técnica y estaban bastante bien, así que se podrían hacer cosas interesantes con buena fluidez si tu engine se comporta igual con más poligonos y elementos en pantalla.
A.r.R.c.H.E.r
10/09/2005, 14:22
Se ve genial, a 66 MHz entre 23-25 fps, a 133 MHz sobre los 45 fps y a 166 MHz a unos 53-55 fps. Además lo de flat shading es buena idea, yo ya he visto un par de juegos de carreras (a parte del Virtua Racing) que usan esta técnica y estaban bastante bien, así que se podrían hacer cosas interesantes con buena fluidez si tu engine se comporta igual con más poligonos y elementos en pantalla.
El circuito del juego que estoy haciendo tiene 3690 poligonos y va a 26 fps a 133 Mhz aun le faltan las colisiones pero tambien le falta optimizar el codigo asi que mas o menos ira asi creo yo...
firesign
10/09/2005, 14:56
Tio, una cosa asi es la que necesita la GP32 para no quedarse en el olvido muy pronto!!! Con tanta GP2X, PSP y similares...
La cosa principal es que despues todo esto sea jugable.. y por cierto, cuando lo termines, libera el engine3D para que los demas maquinas de la programacion lo usen y hagan otros juegos!
Enhorabuena! Y espero que lo termines antes de aburrirte!
A.r.R.c.H.E.r
10/09/2005, 14:58
Tio, una cosa asi es la que necesita la GP32 para no quedarse en el olvido muy pronto!!! Con tanta GP2X, PSP y similares...
La cosa principal es que despues todo esto sea jugable.. y por cierto, cuando lo termines, libera el engine3D para que los demas maquinas de la programacion lo usen y hagan otros juegos!
Enhorabuena! Y espero que lo termines antes de aburrirte!
Con comentarios como el tuyo seguro que no me aburro ;) gracias hombre!
Segata Sanshiro
10/09/2005, 15:02
:babea: :babea: :babea: Juajuajua pues si va así en la gp32, no quiero ni imaginar cómo irá en gp2x ^^
A.r.R.c.H.E.r
10/09/2005, 15:07
:babea: :babea: :babea: Juajuajua pues si va así en la gp32, no quiero ni imaginar cómo irá en gp2x ^^
Ira de vicio!! Por cierto segata, el tema de las matrices de transformacion es muy sencillo, cuando vuelva de vacaciones si aun te queda alguna duda estare encantado de poder ayudarte :)
Segata Sanshiro
10/09/2005, 15:32
Ira de vicio!! Por cierto segata, el tema de las matrices de transformacion es muy sencillo, cuando vuelva de vacaciones si aun te queda alguna duda estare encantado de poder ayudarte :)
Ya estoy de vuelta, lo malo es que empiezan las clases. El único problema sería que yo no supiera todavía las matemáticas que se necesitan, pero habrá que verlo :P
Y por supuesto, muchas gracias por la ayuda ;)
bulbastre
10/09/2005, 16:46
En que consiste FLAT SHADING?
Flat Shading consiste en que cada poligono solo tiene un grado de iluminacion para toda la superficie, en lugar de calcular la iluminacion de cada vertice y suavizar el sombreado degradando entre esos valores.
Y personalmente lo prefiero
usando flat te sales
porque da bastante rendimiento
y se nota un gran aumento
en objetos como naves.
Flat Shading consiste en que cada poligono solo tiene un grado de iluminacion para toda la superficie, en lugar de calcular la iluminacion de cada vertice y suavizar el sombreado degradando entre esos valores.
:O
Joer mira que es simple la ilumacion por vertice, nunca lo habia pensao oiga :D muchas gracias por la simple anotacion locke.
A ver si algun dia me aventuro con las mates :P Que ya me voy poniendo con SDL
Y personalmente lo prefiero
usando flat te sales
porque da bastante rendimiento
y se nota un gran aumento
en objetos como naves.
este hilo no es de ripios
yo no se porque prosigues
ya que desde un principio
es poesía lo que escribes.
anibarro
10/09/2005, 22:18
Si alguien quiere dedicar un rato a portar esta libreria 3D que adjunto, esta todo en C y preparado para ser portado, solo hay q pasar las 4 funciones contadas que hay en hardware.c -.h a la GP32 y ya deberia funcionar.
Estan los ficheros hardware.c y hardware.h para windows y unix, y mirando asi por encima, a alguien que entienda un poco, (yo no puedo xD) creo que no le costaria reescribirlos para la GP partiendo de los de unix.
Los ejemplos para compilar estan en la carpeta APP y lo que hay que cambiar en la carpeta HARDWARE, a ver si alguien se anima ;)
ZeNiTRaM
11/09/2005, 10:23
He visto alguna preview del juego en cuestion y la verdad es que es impresionante..
Aunque la que vi era en wireframe (no estaban pintados los poligonos) y el coche se salia del plano del circuito, es realmente impresionante ver como lo mueve la GP.
Esto me recuerda a cuando vuelves a casa despues de un dia de lluvia te sacas la camiseta y la exprimes con fuerza para sacarle el maximo de agua posible antes de ponerla a secar.
y mejor que mejor, que se siga asi con la GPX2 :chupete:
... solo tendra FLAT shading pero creo que es suficiente para hacer buenos juegos y sino vease Virtua Racing :)...
Es que no has podido poner mejor ejemplo. Que juegazo :brindis:
Por cierto, tambien estarian Virtua Fighter o el impresionante Star Wars Arcade. Y cambiando de plataforma, a mí me gusta muchisimo (y eso que lo tengo que jugar por emulación) la versión de Checkered Flag de Atari Jaguar.
Un saludo,
Ira de vicio!! Por cierto segata, el tema de las matrices de transformacion es muy sencillo, cuando vuelva de vacaciones si aun te queda alguna duda estare encantado de poder ayudarte :)
Aquí tienes a otro interesado ansioso por adquirir esos conocimientos :babea:
Siempre me hubiera gustado hacer algo en 3D, aunque fuera simulado. Nunca pasé del típico star field :(
Y mira que busqué en libros de matemáticas (en aquella época no tenía internet :)), pero finalmente me enfrié y dejé de lado el tema.
Archer, estás desarrollando un juego de coches en 3D? Como sea eso creo que va a triunfar... que yo sepa no he visto ningún juego de carreras ya sea de coches o de motos. Para los que le gustan la acción rápida como a mí les iba a encantar.
Si existe algún juego típico de carreras que alguien me lo haga saber please.
Por cierto, el flat shading está más que bien! lo bien que se veía el Frontier en el Amiga (Elite II) por ejemplo.
Saludos.
Hablando de juegos de coches en 3D. Me he acordado que para móviles con Symbian hay uno de Rally totalmente en 3D, con texturas y todo y sin caidas de framerate. Lo he probado en mi móvil y va de escandalo, y es un ARM9 a 100mhz, con la carga de el sistema operativo. Aunque claro, la pantalla es más pequeña, 176x208
http://usuarios.arsystel.com/frangongue/archivos/screenshots/movil/FEscr(0)_0.jpg http://usuarios.arsystel.com/frangongue/archivos/screenshots/movil/FEscr(2).jpg
Seguro que la GP32 sería capaz de hacer eso, aunque sería exprimirla al máximo y en ASM
puede que no haya que cambiar mucho el código de ese juego, sobre todo teniendo en cuenta el parecido de esos móviles con la GP y contando que la GP es más potente y no va cargado con un sistema operativo.
Una cosilla, no puedo compilar tinyGL. que puedo hacer? el zip o el rar creo que esta corrupto...
puede que no haya que cambiar mucho el código de ese juego, sobre todo teniendo en cuenta el parecido de esos móviles con la GP y contando que la GP es más potente y no va cargado con un sistema operativo.
Lamentablemente no es open source. Es de pago :(
pero solo se podran hacer figuras en 3D o hacer mallas para poder crear otra clase de objetos?? porque ademas el toroide que ha hecho A.r.R.c.H.E.r parece hecho con algun programa 3D y no con formulas mediante codigo, vamos no se
pero no estaria mal un poco de 3D para una consola que no tiene chip 3D para que la gente pueda ver de lo que puede hacer uno con ella ;)
He indagado mas en el tema de tinyGL y he de decir que me siguen saltando errores...
esto es lo que me sale:
*****, que rapido va el toroide...
jejeje te sale el mismo error que me sale a mi cuando intento compilar unos codigos para la PS2, se ve que al hacer el make pasa por un ruta que no existe, revisa el makefile o alguno asi, seguro que esta haciendo referiencia a otro path al que lo has metido tu :)
A ver, aqui esta el config:
################################################## ###################
# C compiler
# linux
CC= gcc-3.2
#CC= g++-3.2
CFLAGS= -g -Wall -O2
LFLAGS=
# for BeOS PPC
#CC= mwcc
#CFLAGS= -I. -i-
#LFLAGS=
################################################## ###################
# Fixed Point
################################################## ###################
CFLAGS += -DUSE_FIXED_POINT -Wall
#CFLAGS += -DSLL_DEBUG -Wall
################################################## ###################
# TinyGL configuration
################################################## ###################
# Select window API for TinyGL:
# standard X11 GLX like API
#TINYGL_USE_GLX=y
# BEOS API
#TINYGL_USE_BEOS=y
# Micro Windows NanoX API
#TINYGL_USE_NANOX=y
# SDL
TINYGL_USE_SDL=y
################################################## ###################
# X11 configuration (for the examples only)
ifdef TINYGL_USE_GLX
# Linux
UI_LIBS= -L/usr/X11R6/lib -lX11 -lXext
UI_INCLUDES=
# Solaris
#UI_LIBS= -L/usr/X11/lib -lX11 -lXext -lsocket -lnsl
#UI_INCLUDES=
UI_OBJS=x11.o
endif
################################################## ###################
# Micro windowX11 configuration (for the examples only)
ifdef TINYGL_USE_NANOX
UI_LIBS= -lnano-X -lmwengine -lmwdrivers -lmwfonts
UI_INCLUDES=
# X11 target for nanoX
UI_LIBS+= -L/usr/X11R6/lib -lX11 -lXext
UI_OBJS=nanox.o
endif
################################################## ###################
# SDL configuration (for the examples only)
ifdef TINYGL_USE_SDL
UI_LIBS= -lSDL -lpthread
UI_INCLUDES=
UI_OBJS=sdl.o
endif
################################################## ###################
# OpenGL configuration (for the examples only)
# use TinyGL
GL_LIBS= -L../lib -lTinyGL
GLU_LIBS= -lTinyGLU
GL_INCLUDES= -I../include
GL_DEPS= ../lib/libTinyGL.a
# use Mesa
#GL_LIBS= -lMesaGL
#GL_INCLUDES=
#GL_DEPS=
# use OpenGL
#GL_LIBS= -lGL
#GL_INCLUDES=
#GL_DEPS=
################################################## ##################
# Compile and link control
# UNIX systems
DIRS= src src/glu examples
# BeOS
# DIRS= src BeOS
y aqui el makefile:
CC = arm-thumb-elf-gcc
AR = arm-thumb-elf-ar
AS = arm-thumb-elf-as
LD = arm-thumb-elf-gcc
TARGET_GL = /usr/arm-thumb-elf/lib/libTinyGL.a
TARGET_GLU = /usr/arm-thumb-elf/lib/libTinyGLU.a
all: $(TARGET_GL) $(TARGET_GLU)
#DEFS= -DENABLE_GP32 -DGP32 -DNDEBUG
DEFS= -DENABLE_GP32 -DGP32 -DNDEBUG -DMAX_SPECULAR_BUFFERS=4 -DSPECULAR_BUFFER_SIZE=128 -DSPECULAR_BUFFER_RESOLUTION=128 -DUSE_FIXED_POINT
OPTFLAGS=-mtune=arm920 -march=armv4t -marm -mno-thumb-interwork -msoft-float -ffast-math -nostdlib -fno-common -ffreestanding -fno-builtin -fno-exceptions -mstructure-size-boundary=8 -O3 -fomit-frame-pointer -fstrict-aliasing -Wall
#OPTFLAGS=-O2 -mtune=arm920 -DGFXST -Wall -Wno-uninitialized -msoft-float -mthumb-interwork
CFLAGS=-Iinclude-gp32 -Iinclude -I. -Isrc $(OPTFLAGS) $(DEFS)
SRCS_GL = \
src/api.c \
src/list.c \
src/vertex.c \
src/init.c \
src/matrix.c \
src/texture.c \
src/misc.c \
src/clear.c \
src/light.c \
src/clip.c \
src/select.c \
src/get.c \
src/error.c \
src/zbuffer.c \
src/zline.c \
src/zdither.c \
src/ztriangle.c \
src/zmath.c \
src/image_util.c \
src/oscontext.c \
src/msghandling.c \
src/arrays.c \
src/specbuf.c \
src/memory.c \
src/sdlswgl.c \
OBJS_GL = $(SRCS_GL:.c=.o)
SRCS_GLU = \
src/glu/glu.c \
src/glu/glu_cylinder.c \
src/glu/glu_disk.c \
src/glu/glu_perspective.c \
src/glu/glu_sphere.c \
src/glu/glu_torus.c \
OBJS_GLU = $(SRCS_GLU:.c=.o)
clean:
rm -f $(OBJS_GL)
rm -f $(OBJS_GLU)
$(TARGET_GL) : $(OBJS_GL)
rm -f $(TARGET_GL)
$(AR) rcs $(TARGET_GL) $(OBJS_GL)
$(TARGET_GLU) : $(OBJS_GLU)
rm -f $(TARGET_GLU)
$(AR) rcs $(TARGET_GLU) $(OBJS_GLU)
No tengo mucha idea de makes... que alguien me ilumine por favor...
pues segun la ventana de comandos que has puesto antes, debe fallar al crear src/api.o
quiza es que no encuentra el api.c
A lo mejor es cosa del compilador, que es la ultima version, vete tu a saber...
Nadie lo tiene compilado con fixed point? que hizo de ser asi?
pero esto de que ahora ha dado por figuras 3D?? porque hacer un cubo no ed difivil y las demas figuras supongo que con las formulas matematicas que existen se podrian desarrollar, pero lo que no entiendo es como han podido abrir un fichero con un objeto 3D que se habra hecho con un programa 3D, porque me he mirado las intrucciones del SDK que es lo que uso y nada, es que con el SDL se puede??
A.r.R.c.H.E.r
17/09/2005, 13:36
pero esto de que ahora ha dado por figuras 3D?? porque hacer un cubo no ed difivil y las demas figuras supongo que con las formulas matematicas que existen se podrian desarrollar, pero lo que no entiendo es como han podido abrir un fichero con un objeto 3D que se habra hecho con un programa 3D, porque me he mirado las intrucciones del SDK que es lo que uso y nada, es que con el SDL se puede??
Muy buenas! ya he vuelto de las vacaciones!, pues mi engine coge los objetos de 3D Studio MAX, ademas soporta varios objetos y materiales osea que si cargas un archivo que tiene mas de 1 objeto podrias mover cada uno independientemente. En realidad el archivo que carga la GP32 es una conversion de formato a uno propio... llegado el momento pondre el conversor para quien quisiera hacer su propio circuito.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.