• Jueves 28 de Marzo de 2024, 16:59

Autor Tema:  Programar La Gpu  (Leído 33150 veces)

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Programar La Gpu
« en: Lunes 27 de Junio de 2005, 15:53 »
0
Mis dudas son unas "cuantas", y esque, estoy en estas:


(1)Quiero programar directamente el hardware, graficos, teclado, raton, sonido.

{
Estamos en que para hacer esto, de buen principio ni pensarlo de hacerlo bajo, por ejemplo WinXP por que simplemente protege la memoria asignandole una zona virtual de memoria a cada proceso y analizandola a su voluntad para que el proceso no acceda a zonas de memoria de otro proceso(problema numero 1), me direis muy bien, utiliza la API de windows y ya esta, pero yo digo, no esta!! por que no pienso utilizar esa API........no de momento, la solucion mas facil seria programar en entorno MS-DOS, pero tenemos el problema de la barrera de los 640 Kbytes, podria utilizar directamente el hardware y tal con las interrupciones, pero........... y si mi programa que haga ocupa mas de 640 Kbytes en memoria que?, ahy viene una duda/pregunta, aunque todos sabemos que MS-DOS tiene la barrera de los 640 Kbytes, y aun teniendo la memoria extendida su uso es muy limitado, como al fin y al cabo MS-DOS es un programa mas echo en ensamblador, hay alguna manera de poder utilizar toda la memoria disponible en el PC mediante algunas rutinas en ensamblador y tambien extender los 16 bits a 32 bits, superando asi las barreras, es decir, si yo tengo por ejemplo 512MB de memoria RAM fisica en el ordenador, pues poder utilizarlos todos y no 640KB solamente, igualmente el tema de la cantidad de bits, osea que aunque los programas de MS-DOS sean de 16 bits, de alguna manera yo puedo hacer programas corriendo en 32 bits aunque MS-DOS no lo sea mediante el apoyo de algunas rutinas de ensamblador? no pido que me digais como se hace, simplemente pido que alguien me diga si se puede hacer lo que yo he dicho o no, lo demas ya es trabajo mio.........,
}



(2)Programar graficos, pero nada de VGA ni SVGA, sino una GPU(si si, una aceleradora en el AGP)
{
aqui viene mi mayor duda, y es que por internet veo montones de tutoriales del modo 13h, que si VGA, que si SVGA, VESA 1.0 y 2.0, tenemos que:

VGA: 256 colores, caca de la vaca, no me sirve, no me conformo.........
SVGA: otro tanto de lo mismo.....
ESTANDAR VESA: 16 millones de colores y todo lo que tu quieras, pero tampoco me conformo por su lentitud

explicacion de por que no me sirve lo del vesa:

por la profundidad de color si me serviria, pero, imaginaros que tengo que hacer un sistema operativo como el windows, con 32 bits de color, esto es, 16 millones de colores, pero como imaginareis, ni de coña tendra la velocidad que tienen los graficos del windows, por que aunque alguien no lo sepa y aunque lo parezca, windows NO esta echo con vesa, ese sistema accede directamente al hardware, y en ordenadores modernos ya no estamos hablando de VGA ni SVGA si no de GPU o "Graphics Accelerated Unit", o lo que es lo mismo, targetas aceleradoras 3D de alto rendimiento, con procesador propio, algunas que llegan a tener 256MB de memoria de video GDDR3(la mia, una 6800GT........), y ahi viene el problema, veo un monton de paginas de los modos anteriores, pero todavia no he encontrado ninguna que hable de como acceder directamente a ese tipo de hardware, y mis preguntas son, ¿se accede directamente a la aceleradora 3D o tan solo al bus AGP?¿que interrupcion es la encargada del bus AGP o de la targeta aceleradora?¿cuales son las direcciones de memoria?¿que registros tiene el procesador(GPU) propio de la targeta aceleradora?¿alguien sabe el nombre de estos registros? pues eso, alguien sabe "algo" sobre el tema? por que, existir tiene que existir algo por c******, por que los sistemas operativos que existen como windows, no salen de la parrilla como por arte de magia..............................................e inevitablemente deben usar alguna "cosa" para realizar sus cometidos, "algo" que si ellos pueden utilizar programandolo en ensamblador y ese "algo" como por ejemplo una Nvidia GeForce 6800GT 256MB GDDR3 esta en mi ordenador, pues por c****** debo de poder programarlo yo de alguna manera utilizando ensamblador, ¿existe algun libro al respecto a poder ser en castellano?, recuerdo, que nada de APIS ni DirectX ni OpenGL ni nada por el estilo, empezando desde 0(programacion del hardware pura y dura.....)MUCHAS GRACIAS

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #1 en: Lunes 27 de Junio de 2005, 20:13 »
0
Para la primera pregunta podes usar memoria extendida como decis (XMS) o pasar de modo real (16 bits, el modo en que arranca cualquier x86) a modo protegido (32 bits, el modo en que trabajan Windows o Linux).

El libro ensamblador para DOS, Linux y Windows tiene un capitulo sobre 32 bits bajo MS-DOS (el ultimo para ser mas exactos).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #2 en: Lunes 27 de Junio de 2005, 20:22 »
0
En cuanto a la segunda pregunta segun tengo entendido Windows no realiza el acceso directo a la AGP sino que los drivers, en este caso los de nvidia, son los encargados de este trabajo.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #3 en: Lunes 27 de Junio de 2005, 20:54 »
0
Cita de: "Eternal Idol"
En cuanto a la segunda pregunta segun tengo entendido Windows no realiza el acceso directo a la AGP sino que los drivers, en este caso los de nvidia, son los encargados de este trabajo.
Si, pero, dejando de lado como lo haga windows, una aceleradora 3D es una maquina electronica mas como cualquier otra, y sabiendo esto, supongo que tambien tiene sus direcciones de memoria, IRQS etc etc etc ¿no?................por que, esos drivers, ¿como se programan a bajo nivel? no quiero dependencia de windows, quiero programar yo la targeta......... :comp: , y bueno, los que en su dia programaron el windows supongo que tendrian que hacerlo en ASM, logicamente, por lo que debe de haber alguna manera, o es que yo soy marciano y esos programadores venian con un cerebro de serie que ya sabia programar lo que digo? :alien: , logicamente no.................

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #4 en: Lunes 27 de Junio de 2005, 22:04 »
0
En su amplia mayoria Windows (siempre hablo de NT) esta hecho en C, hay bastante rutinas de asm en la inicializacion y todo lo que sea dependiente de la motherboard en el HAL.

Intenta conseguir la documentacion de la placa si es que existe, intenta conseguir un driver para Linux si es que existe y siempre queda la opcion de hacer ingenieria reversa sobre el driver para Windows.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #5 en: Lunes 27 de Junio de 2005, 23:34 »
0
Cita de: "Eternal Idol"
En su amplia mayoria Windows (siempre hablo de NT) esta hecho en C, hay bastante rutinas de asm en la inicializacion y todo lo que sea dependiente de la motherboard en el HAL.

Intenta conseguir la documentacion de la placa si es que existe, intenta conseguir un driver para Linux si es que existe y siempre queda la opcion de hacer ingenieria reversa sobre el driver para Windows.
bueno, ya se por donde van los tiros.............vamos, que o los de nvidia hacen un driver para mi(cosa que dudo......) o lo tengo mas bien jodido................(esto no lo dudo......) :lightsabre: , entonces, tendria que fliparme un poco menos e ir a por la VESA....., mi pregunta es entonces, hay mucha diferencia de rendimiento entre usar VESA/acceder directamente al hardware?  es posible con VESA hacer graficos en 3D(a partir de las primitivas 2D..........) con un buen rendimiento? me refiero a graficos 3D en modo como minimo 800x600 con 16 millones de colores y utilizando miles de poligonos y texturas, iluminacion en tiempo real.............., y otra pregunta es, existe tambien un estandar para el sonido?, ohy algo de vesa audio, pero no se........, y mi pregunta definitiva, en ASM, como utilizo un CD-ROM/DVD-ROM ? se utiliza como cualquier otra unidad? pero, por ejemplo, si pongo un video en DVD, como se lee? me imagino que el DVD, en si mismo, es un estandar, por lo que, ¿alguien sabe de alguna pagina con documentacion sobre la estructura de ficheros/informacion de los ficheros de un video DVD? gracias

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #6 en: Martes 28 de Junio de 2005, 00:14 »
0
Cita de: "CodigoDavid"
es posible con VESA hacer graficos en 3D(a partir de las primitivas 2D..........) con un buen rendimiento? me refiero a graficos 3D en modo como minimo 800x600 con 16 millones de colores y utilizando miles de poligonos y texturas, iluminacion en tiempo real..............
Ni en sueños,  ;)
VESA fue desarrollado antes que las tarjetas aceleradoras de gráficos 3d coparan el mercado, en esos tiempos del VESA poder ver en tu pantalla 1024x768 pixeles a 24 bits de color era mucha cosa, un sueño. Si quieres ver como funcionaría tu programa con vesa inicia el windows XP en modo a prueba de fallos y me cuentas como va la velocidad. Si quieres un estándar para 3d tienes al Opengl.  ;)

Si existe alguien en este planeta que sepa como hacer un juego 3d en asm son estos señores:

http://www.theprodukkt.com/



96KB  :blink: !!!, cuando me lo mostro un amigo juraba que era una broma.

Requerimientos MINIMOS:

    * A 1.5GHz pentium 3 / athlon or faster.
    * 512MB of RAM.
    * a GeForce4Ti (or higher) or ATI Radeon8500 (or higher) graphics card supporting pixel shaders 1.3, preferably with 128MB or more of VRAM.
    * some kind of sound hardware.
    * DirectX 9.0b.

Link al archivo:

http://kk.kema.at/files/kkrieger-beta.zip

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #7 en: Martes 28 de Junio de 2005, 00:26 »
0
Cita de: "Amilius"
Cita de: "CodigoDavid"
es posible con VESA hacer graficos en 3D(a partir de las primitivas 2D..........) con un buen rendimiento? me refiero a graficos 3D en modo como minimo 800x600 con 16 millones de colores y utilizando miles de poligonos y texturas, iluminacion en tiempo real..............
Ni en sueños,  ;)
VESA fue desarrollado antes que las tarjetas aceleradoras de gráficos 3d coparan el mercado, en esos tiempos del VESA poder ver en tu pantalla 1024x768 pixeles a 24 bits de color era mucha cosa, un sueño. Si quieres ver como funcionaría tu programa con vesa inicia el windows XP en modo a prueba de fallos y me cuentas como va la velocidad. Si quieres un estándar para 3d tienes al Opengl.  ;)
OpenGL? pero si se usa dentro de la API de Windows.........., y pregunto, entonces que utilidad tiene VESA? mejor dicho, entonces uno tiene que joderse? por que, yo es que a este tema de programar directamente el hardware le veo mucho secretismo por parte de las empresas si se me permite decirlo................................pero es que entonces ya estamos, los que programan este tipo de cosas¿donde lo aprenden?¿es que yo no puedo aprenderlo tambien? ¿o es que son semi-dioses? creo yo que son programadores humanos normales y corrientes, aver, si por ejemplo ahora a mi una empresa me pide que le haga un driver en ensamblador para su super-ultimo-chachi-guay modelo de targeta 3D, que conocimientos necesito, por que si existen estos trabajos digo yo que existe documentacion sobre el tema, por que si no estoy en otra dimension.........

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #8 en: Martes 28 de Junio de 2005, 01:14 »
0
Cita de: "CodigoDavid"
Cita de: Amilius,27/06/2005, 11:14 PM

OpenGL? pero si se usa dentro de la API de Windows.........., y pregunto, entonces que utilidad tiene VESA? mejor dicho, entonces uno tiene que joderse? por que, yo es que a este tema de programar directamente el hardware le veo mucho secretismo por parte de las empresas si se me permite decirlo................................pero es que entonces ya estamos, los que programan este tipo de cosas¿donde lo aprenden?¿es que yo no puedo aprenderlo tambien? ¿o es que son semi-dioses? creo yo que son programadores humanos normales y corrientes, aver, si por ejemplo ahora a mi una empresa me pide que le haga un driver en ensamblador para su super-ultimo-chachi-guay modelo de targeta 3D, que conocimientos necesito, por que si existen estos trabajos digo yo que existe documentacion sobre el tema, por que si no estoy en otra dimension.........
VESA esta igual que los modos "estándar" como el 640x480x4bits, o el 320x200x8bits o el "xlat"= soportados pero deprecados.

Claro que puedes hacer los drivers, y si los haces gratis para cualquiera de esas empresas seguro estarán felices. Seguramente te entregarían un manual gigante con todo lo que puedes hacer y lo que no debes hacer para manejar el modelo "y" de la tarjeta "x" en la empresa "z". Y no es que sea mucho secretismo, es que eso de programar el driver se supone que lo tienen que hacer ellos por que no es algo estándar, además el agp tiene sus días contados por que vienen nuevas tecnologías para reemplazarlo.

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #9 en: Martes 28 de Junio de 2005, 01:32 »
0
Cita de: "Amilius"
Cita de: CodigoDavid,27/06/2005, 10:26 PM
Cita de: Amilius,27/06/2005, 11:14 PM

OpenGL? pero si se usa dentro de la API de Windows.........., y pregunto, entonces que utilidad tiene VESA? mejor dicho, entonces uno tiene que joderse? por que, yo es que a este tema de programar directamente el hardware le veo mucho secretismo por parte de las empresas si se me permite decirlo................................pero es que entonces ya estamos, los que programan este tipo de cosas¿donde lo aprenden?¿es que yo no puedo aprenderlo tambien? ¿o es que son semi-dioses? creo yo que son programadores humanos normales y corrientes, aver, si por ejemplo ahora a mi una empresa me pide que le haga un driver en ensamblador para su super-ultimo-chachi-guay modelo de targeta 3D, que conocimientos necesito, por que si existen estos trabajos digo yo que existe documentacion sobre el tema, por que si no estoy en otra dimension.........
VESA esta igual que los modos "estándar" como el 640x480x4bits, o el 320x200x8bits o el "xlat"= soportados pero deprecados.

Claro que puedes hacer los drivers, y si los haces gratis para cualquiera de esas empresas seguro estarán felices. Seguramente te entregarían un manual gigante con todo lo que puedes hacer y lo que no debes hacer para manejar el modelo "y" de la tarjeta "x" en la empresa "z". Y no es que sea mucho secretismo, es que eso de programar el driver se supone que lo tienen que hacer ellos por que no es algo estándar, además el agp tiene sus días contados por que vienen nuevas tecnologías para reemplazarlo.
solo 4 o 8 bits? pero si tengo tutoriales de VESA en modo 1024x768 con 32 bits de profundidad de color(16 millones de colores), y una curiosidad que siempre he tenido, que es eso de "deprecado" o "deprecated"? :alien:  :alien:  :alien:

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #10 en: Martes 28 de Junio de 2005, 01:42 »
0
Cita de: "Amilius"
Cita de: CodigoDavid,27/06/2005, 10:26 PM
Cita de: Amilius,27/06/2005, 11:14 PM

OpenGL? pero si se usa dentro de la API de Windows.........., y pregunto, entonces que utilidad tiene VESA? mejor dicho, entonces uno tiene que joderse? por que, yo es que a este tema de programar directamente el hardware le veo mucho secretismo por parte de las empresas si se me permite decirlo................................pero es que entonces ya estamos, los que programan este tipo de cosas¿donde lo aprenden?¿es que yo no puedo aprenderlo tambien? ¿o es que son semi-dioses? creo yo que son programadores humanos normales y corrientes, aver, si por ejemplo ahora a mi una empresa me pide que le haga un driver en ensamblador para su super-ultimo-chachi-guay modelo de targeta 3D, que conocimientos necesito, por que si existen estos trabajos digo yo que existe documentacion sobre el tema, por que si no estoy en otra dimension.........
VESA esta igual que los modos "estándar" como el 640x480x4bits, o el 320x200x8bits o el "xlat"= soportados pero deprecados.

Claro que puedes hacer los drivers, y si los haces gratis para cualquiera de esas empresas seguro estarán felices. Seguramente te entregarían un manual gigante con todo lo que puedes hacer y lo que no debes hacer para manejar el modelo "y" de la tarjeta "x" en la empresa "z". Y no es que sea mucho secretismo, es que eso de programar el driver se supone que lo tienen que hacer ellos por que no es algo estándar, además el agp tiene sus días contados por que vienen nuevas tecnologías para reemplazarlo.
en definitiva, que si quiero graficos como por ejemplo 1024x768x32bits con la misma velocidad de windows, la unica opcion es la API de Windows/opengl/direct3d no? pues vaya m***** por que abres una de esas cabeceras y uno no se entera de nada.................pero es que encima los que no sabemos ingles que?(por que yo no tengo ni #### idea)de la api de windows si hay libros en castellano pero.............................................y de directX? por que todavia no he visto ningun libro de DirectX en castellano, ademas de que es imposible cojer la cabezera de DirectX e ir probando funciones para cojer experiencia por que simplemente esas cabezeras son un lio(todas desordenadas, sin tabulaciones ni espacios, vamos que todo esta amontonado), por mi que los programadores de esas api no saben lo que es la legibilidad.............................

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #11 en: Martes 28 de Junio de 2005, 02:04 »
0
Eso era un ejemplo de modos VGA, no de los VESA.

"Deprecado": Cuando una funcionalidad o característica es reemplazada por una mejor o más potente. Como no puedes eliminar funciones o características de un procesador o de un sistema operativo sin comprometer su compatibilidad se recurre a deprecar en lugar de simplemente remover dichas funcionalidades o características. Así una función o una característica deprecada generalmente funciona más lento, a manera de ser "emulada" por las nuevas funciones. Eventualmente las funciones y características deprecadas ya no son soportadas por las nuevas versiones.

Por ejemplo en HTML.4 están deprecados en favor de las hojas de estilos:

     BASEFONT, CENTER, FONT, S, STRIKE, U

Recientemente me di cuenta que una función del bios que hacía una pausa en microsegundos en las 386 fue deprecada y removida (o el bios de mi máquina no lo soporta)... ya no existe seguridad que funcione siempre... ese el riesgo de usar cosas deprecadas.

Seguramente los modos VGA y VESA no serán removidos, pero son EXTREMADAMENTE LENTOS. En mi maquina hacer 600 multiplicaciones a 32 bits (además de unas 1200 operaciones lógicas y 600 accesos a memoria) es más rápido que poner un pixel en vga!!  :blink:  :blink:  :blink:

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #12 en: Martes 28 de Junio de 2005, 02:18 »
0
Cita de: "CodigoDavid"
en definitiva, que si quiero graficos como por ejemplo 1024x768x32bits con la misma velocidad de windows, la unica opcion es la API de Windows/opengl/direct3d no? pues vaya m***** por que abres una de esas cabeceras y uno no se entera de nada.................pero es que encima los que no sabemos ingles que?(por que yo no tengo ni #### idea)de la api de windows si hay libros en castellano pero.............................................y de directX? por que todavia no he visto ningun libro de DirectX en castellano, ademas de que es imposible cojer la cabezera de DirectX e ir probando funciones para cojer experiencia por que simplemente esas cabezeras son un lio(todas desordenadas, sin tabulaciones ni espacios, vamos que todo esta amontonado), por mi que los programadores de esas api no saben lo que es la legibilidad.............................
Es un lio gigantesco, especialmente d3d de directX por que lo primero que hay que hacer es revisar que cosas soporta y que cosas no soporta la tarjeta aceleradora, por eso que en los juegos aparece la leyenta "soporta las tarjetas de pepito, manuelito y joselito, no soporta las de juanito y no pensamos hacer que las soporte"  :D

Por eso mismo que existen los engines de juegos 3d, para no tener que hacer uno desde cero. Ni siquiera la industria de videojuegos se anima asi por asi a construir su propio engine 3d y muchas veces se ve que se prefiere pagar por utilizar uno ya existente y dedicar el dinero y tiempo al juego en sí.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #13 en: Martes 28 de Junio de 2005, 09:19 »
0
Cita de: "CodigoDavid"
bueno, ya se por donde van los tiros.............vamos, que o los de nvidia hacen un driver para mi(cosa que dudo......) o lo tengo mas bien jodido................(esto no lo dudo......) :lightsabre: ,

y otra pregunta es, existe tambien un estandar para el sonido?, ohy algo de vesa audio, pero no se........, y mi pregunta definitiva, en ASM, como utilizo un CD-ROM/DVD-ROM ? se utiliza como cualquier otra unidad? pero, por ejemplo, si pongo un video en DVD, como se lee? me imagino que el DVD, en si mismo, es un estandar, por lo que, ¿alguien sabe de alguna pagina con documentacion sobre la estructura de ficheros/informacion de los ficheros de un video DVD? gracias
A menos que tengas un Sistema Operativo con varios millones de usuarios dudo que Nvidia se toma la molestia de crear un driver para el mismo.

Sonido ... mmm, ni idea pero en la epoca de MS-DOS eran todos propietarios, Sound Blaster, ADLIB, Tandy y otros.

CD/DVD, segun recuerdo en MS-DOS se cargaban unas extensiones (mscdex). Siempre tenes la opcion de comunicarte mediante in's y out's pero habria que ver que estas tratando de hacer realmente ya que seria una tarea bastante titanica.

Te dejo una pagina donde buscar informacion sobre archivos:
http://www.wotsit.org/

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #14 en: Martes 28 de Junio de 2005, 09:22 »
0
En cuanto a DirectX yo por lo menos conozco un libro en Español que es bastante simple, programacion de videojuegos o algo asi se llama pero realmente el Ingles en el mundo la programacion es imprescindible, no hace falta ser Shakespeare pero si entender el Ingles tecnico.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #15 en: Martes 28 de Junio de 2005, 10:30 »
0
Cita de: "Eternal Idol"
En cuanto a DirectX yo por lo menos conozco un libro en Español que es bastante simple, programacion de videojuegos o algo asi se llama pero realmente el Ingles en el mundo la programacion es imprescindible, no hace falta ser Shakespeare pero si entender el Ingles tecnico.
No, si el ingles tecnico lo entiendo, lo entiendo, pero es que alomejor te encuentras en la api con una funcion que se llama "InitDC" o cosas por el estilo y dices, vale, Init significa Iniciar, pero, y que C****** significa "DC"? pues que no lo sabes si alguien no te lo explica(que DC en la jerga windows significa Dispositive Context o algo asi)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Programar La Gpu
« Respuesta #16 en: Martes 28 de Junio de 2005, 20:22 »
0
hola,
he leido lo que tu pides y claro que puedes hacerlo todo tu mismo independiente de windows o del DOS, pero para poder hacerlo necesitas tu mismo crear un conjunto de rutinas que vayan administrando la memoria y todos los dispositivos de entrada y salida... por supuesto tu mismo manejarias la comuinicacion con la tarjeta gráfica para lo cual deberias usar el DMA.. ets.

A este tipo de librerias se les suele llamar sistema operativo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #17 en: Martes 28 de Junio de 2005, 20:44 »
0
Cita de: "JuanK"
hola,
he leido lo que tu pides y claro que puedes hacerlo todo tu mismo independiente de windows o del DOS, pero para poder hacerlo necesitas tu mismo crear un conjunto de rutinas que vayan administrando la memoria y todos los dispositivos de entrada y salida... por supuesto tu mismo manejarias la comuinicacion con la tarjeta gráfica para lo cual deberias usar el DMA.. ets.

A este tipo de librerias se les suele llamar sistema operativo.
Este tipo de librerias se suelen llamar drivers como ya ha sido dicho con anterioridad mientras que el Kernel del sistema operativo suele contener rutinas basicas para manejo de motherboard y otros dispositivos delegando la tarea del manejo de hardware especifico a sus correspondientes drivers.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Programar La Gpu
« Respuesta #18 en: Miércoles 29 de Junio de 2005, 19:22 »
0
primero que todo buenas segundo que todo voy a pedir que te tranquilices ( voy a ser claro para que no te choques contra una pared )

unas preguntas:
1) en que lenguajes sabes programar?
2) a que nivel sabes programar?
3) ya programaste algo que valga la pena?

digo esto porque te noto muy exaltado y por algunas preguntas que haces denotas muy poco conocimiento. tranquilizate y acostumbrate a varias cosas:
1) todo lo importante esta en ingles ( ergo aprende ingles )
2) siempre se empieza de lo simple ( ergo aunque no te guste, vas a tener que empezar con el modo 320x200x256 )
3) las emprezas de tarjetas graficas no tienen ganas de liberar las espeificaciones a personas o grupos de personas que no le respondan con un incremento de sus ingresos de al menos varios millones asi que les dan los drivers a microsoft ( por los juegos ) y a contadas excepciones
4) se nota que todavia no leiste un datasheet ( especificacion de hardware ) porque hasta la mas simple de 4 hojas es muy dificil de entender y transformar en algo que ande
y un largo etc

otra cuestion: ya programaste algo en vesa para empezar a hablar de
"me refiero a graficos 3D en modo como minimo 800x600 con 16 millones de colores y utilizando miles de poligonos y texturas, iluminacion en tiempo real..............,"
hiciste un poligono en 3d?
porque yo estoy hace mucho en esto ( un poco dejado hace un tiempo ) y no es facil...

otra cosa en mi casa tengo un linux andando con el driver vesa framebuffer a 1024x768x24 bits de profundidas en un Kde totalmente sobrecargado y no tiene ningun problema de rendimiento como para que necesite configurar la placa

hay dos caminos:
1) si queres "graficos 3D en modo como minimo 800x600 con 16 millones de colores y utilizando miles de poligonos y texturas, iluminacion en tiempo real..............,"
aprende opengl o directx que ellos ya se rompieron haciendo lo que vos estas tratando de empezar
2) si queres aprender sobre graficos y modos de video empeza con 320x200x256 y segui con vesa dentro de mucho tiempo cuando lo domines volve a preguntar sobre placas de video etc

simple yo empece por lo bajito ( al reves que vos ) y ya he escrito simples juegos simples manejadores de vesa un simple sistema operativo y dos simples compiladores, por el camino que vas vos vas a estar años sin poder terminar de escribir algo que te haga sentir orgulloso.

empeza por lo simple y bienvenido a la programacion

enjoy...

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #19 en: Miércoles 29 de Junio de 2005, 21:33 »
0
Cita de: "bob esponja"
primero que todo buenas segundo que todo voy a pedir que te tranquilices ( voy a ser claro para que no te choques contra una pared )

unas preguntas:
1) en que lenguajes sabes programar?
2) a que nivel sabes programar?
3) ya programaste algo que valga la pena?

digo esto porque te noto muy exaltado y por algunas preguntas que haces denotas muy poco conocimiento. tranquilizate y acostumbrate a varias cosas:
1) todo lo importante esta en ingles ( ergo aprende ingles )
2) siempre se empieza de lo simple ( ergo aunque no te guste, vas a tener que empezar con el modo 320x200x256 )
3) las emprezas de tarjetas graficas no tienen ganas de liberar las espeificaciones a personas o grupos de personas que no le respondan con un incremento de sus ingresos de al menos varios millones asi que les dan los drivers a microsoft ( por los juegos ) y a contadas excepciones
4) se nota que todavia no leiste un datasheet ( especificacion de hardware ) porque hasta la mas simple de 4 hojas es muy dificil de entender y transformar en algo que ande
y un largo etc

otra cuestion: ya programaste algo en vesa para empezar a hablar de
"me refiero a graficos 3D en modo como minimo 800x600 con 16 millones de colores y utilizando miles de poligonos y texturas, iluminacion en tiempo real..............,"
hiciste un poligono en 3d?
porque yo estoy hace mucho en esto ( un poco dejado hace un tiempo ) y no es facil...

otra cosa en mi casa tengo un linux andando con el driver vesa framebuffer a 1024x768x24 bits de profundidas en un Kde totalmente sobrecargado y no tiene ningun problema de rendimiento como para que necesite configurar la placa

hay dos caminos:
1) si queres "graficos 3D en modo como minimo 800x600 con 16 millones de colores y utilizando miles de poligonos y texturas, iluminacion en tiempo real..............,"
aprende opengl o directx que ellos ya se rompieron haciendo lo que vos estas tratando de empezar
2) si queres aprender sobre graficos y modos de video empeza con 320x200x256 y segui con vesa dentro de mucho tiempo cuando lo domines volve a preguntar sobre placas de video etc

simple yo empece por lo bajito ( al reves que vos ) y ya he escrito simples juegos simples manejadores de vesa un simple sistema operativo y dos simples compiladores, por el camino que vas vos vas a estar años sin poder terminar de escribir algo que te haga sentir orgulloso.

empeza por lo simple y bienvenido a la programacion

enjoy...
hmmhmhmhmhhhmmmm ¿bienvenido a la programacion? :alien:  empeze con el lenguaje C a los 14 años y tengo 18, llevo 4 años............................. :hola:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Programar La Gpu
« Respuesta #20 en: Miércoles 29 de Junio de 2005, 22:11 »
0
Citar
hmmhmhmhmhhhmmmm ¿bienvenido a la programacion? alien.gif empeze con el lenguaje C a los 14 años y tengo 18, llevo 4 años............................. hola.gif
mmm...

No lo tomes a mal pero con esas preguntas y pretenciones tan grandes parece que no has tocado mucho los temas fuertes de programacion en c... conocer bien un lenguaje no implica ya ser todo un conocedor de la programacion.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #21 en: Miércoles 29 de Junio de 2005, 22:39 »
0
Cita de: "JuanK"
Citar
hmmhmhmhmhhhmmmm ¿bienvenido a la programacion? alien.gif empeze con el lenguaje C a los 14 años y tengo 18, llevo 4 años............................. hola.gif
mmm...

No lo tomes a mal pero con esas preguntas y pretenciones tan grandes parece que no has tocado mucho los temas fuertes de programacion en c... conocer bien un lenguaje no implica ya ser todo un conocedor de la programacion.
hombre, pues contando que con un lenguaje como C no viene con sistemas multimedia incluidos, como por ejemplo graficos, sonido etc etc etc, lo mas fuerte que hay del lenguaje C creo que es(y creo que no me equivoco), y supongo que es lo que pretendias decir, son las estructuras dinamicas de datos, las listas enlazadas, dobles, circulares, arboles binarios, arboles binarios perfectamente equilibrados, y por supuesto, los punteros...................que es realmente una parte potente del C, pero tengo que decir que ya no estoy con el C, he pasado al C++, ya se utilizar hasta la herencia, la herencia multiple, la herencia virtual y todo eso, pero es que, ¿he dicho yo, en algun momento, explicitamente, que quiera hacer lo que he dicho ahora mismo?, por que lo que preguntaba era para un futuro no para ahora precisamente, logicamente antes tendre que hacer cosas mas simples, como alguien ha dicho por ahy, pero, todo eso lo preguntaba por que realmente me da rabia este secretismo del hardware y no poder programarlo(excepto semi-dioses como Micr$s$ft), y lo preguntaba mas que nada por que ahora me tienen que llegar unos libros de programacion, entre ellos un tocho de libro sobre ensamblador y por eso lo preguntaba, se que el ensamblador es "chungo", pero yo me conozco, y pienso conseguir dominarlo..............aver, es que puede parezer que me hago el listo, pero es que seguramente hay una gran "diferencia" entre vosotros y yo, y es que probablemente vosotros trabajais, haceis otras cosas etc etc etc, pero yo, y aunque hos parezca un poco fuerte leerlo, haze 3 años que no salgo de casa(excepto contadas excepciones....), y todo este tiempo me he estado peleando con el lenguaje C, actualmente con el C++, tranquilamente, y como he echo aveces, me he estado 3 dias seguidos sin dormir para aprender sobre algun "rincon" mas sobre estos dos lenguajes, os podreis imaginar la cantidad de cafeina que tomo y la bonita coleccion de cajas de aspirinas que debo de tener :D , y si, hace 3 años que no veo a ningun colega/amigo, solo a familiares, reconozco que soy muy obsesivo con esto de la programacion, pero esto de la obsesion creo que es lo que al fin y al cabo me ha echo conseguir estudiar estos dos "bonitos" lenguajes de programacion, en fin.....................

CodigoDavid

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #22 en: Miércoles 29 de Junio de 2005, 22:44 »
0
Por cierto, que nadie pregunte por que hace 3 años que no salgo a la calle, no lo dire, es muy personal, espero que a nadie le moleste que no lo diga............. :scream:

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #23 en: Miércoles 29 de Junio de 2005, 23:19 »
0
A ese extremo no llego por suerte pero somos muchos los que nos dedicamos a esto desde hace años  :smartass:

Para la mayoria de las cosas que queres hacer se necesita saber bien ensamblador, no te preocupes que si tenes realmente voluntad vas a poder aprenderlo sin problemas.

Otra cosa, ese hardware no es tan conocido porque no hay mucha gente que quiera tomarse la molestia de escribir para el mismo. Es muy especifico y muchos lo consideran (me incluyo) una perdida de tiempo, excepto claro que trabajes para una de estas empresas, en mi caso solo he hecho drivers tipo filtro o un poco fuera de orbita pero no para hardware.

 :hola:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Programar La Gpu
« Respuesta #24 en: Jueves 30 de Junio de 2005, 00:26 »
0
Pues felicidades CodigoDavid y recordarte nuevamente que aunque no te guste el inglés es el lenguaje natural defacto del mundo del intercambio de información y si realmente quieres alcanzar tus metas NECESITAS poder leerlo por lo menos.