Avances, Diario de...

Started by SplinterGU, April 17, 2008, 03:00:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

es la idea... pero a nivel compilacion solo dcb encriptados.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

no, no se puede prescindir... no me explique bien entonces...

si, es necesario, puesto que esta pensando para en un futuro tener dcb encriptados, e incluido en los apis basicos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

¿Y tiene utilidad encriptar los DCBs? es decir ¿tan sencillo es hacer ingeniería inversa con ellos en proyectos de índole comercial cuyo código debe ser protegido bajo cuatro llaves en el fondo del mar?
Los gráficos, músicas y demás todavía lo entiendo (aunque seamos aficionados, no nos hace gracia que otros se enriquezcan con nuestro trabajo, como ya ha pasado alguna vez), pero los DCB... al menos, muchos de nosotros hasta compartimos código ;D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

el dcb puede contener datos sensibles que si bien para tus proyectos no son necesarios, no significa lo mismo para todos los proyectos...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

Yo no saco absolutamente nada sin todo el código y recursos abiertos para que cualquiera pueda utilizarlos ;D

Y si se forra alguien me alegraré, pues significa que yo también puedo hacerlo xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

es correcto, pero hay gente que no quiere eso...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Yo, por ejemplo. Me fastidiaría sobremanera que alguien se lucrase de MI trabajo sin ni siquiera pedirme permiso.
O sea, no me importa que se use el código que he subido (por ejemplo, del motor de tiles), los juegos que haga o las aplicaciones, mientras no se cobre por ello. Pero si se va a conseguir algún beneficio, al menos, avisar para llegar a algun acuerdo (o llevarme la parte que me corresponde) ¿no? ;D ;D ;D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

primeras pruebas con opengl...

una modificacion muy cutre del core bennu para usar opengl hecho en 15 minutos anoche... me dio en una prueba de un programa que hace rebotar 1000 pelotas en una resolucion de 640x480x32 con graficos de 32x32x32 unos 254fps, cuando la misma prueba en bennu por soft me da unos 48fps...

esta es una rapida version... con cero optimizacion, muy sucia y ejecutando mucho codigo que no deberia ejecutar... solo soporta procesos con graficos sin rotacion ni escalado.. si con alphas... pero bueno, es un adelanto y queria compartirlo con Uds.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Lo ideal, es que despues pongas una variable que permita elegir el modo al principio del programa (aceleración por Software/Hardware).
Incluso puedes ir sacando versiones del mismo modo que lo haces hasta ahora, pero que ni que tenga la parte por Hardware en estado beta, cosa que no implica que puedas seguir sacando Bennu sin que tenga la parte por hardware completa al 100%, y podemos seguir usando la parte por software como hasta ahora...

DCelso

genial, pero ¿SDL no traía una forma de usar opengl internamente?+
http://www.libsdl.org/opengl/index.php
El primer ejemplo hacel algo como SDL_SetVideoMode(640, 480, 0, SDL_OPENGL)


//
// This code was created by Jeff Molofee '99
// (ported to SDL by Sam Lantinga '2000)
//
// If you've found this code useful, please let me know.
//
// Visit me at www.demonews.com/hosted/nehe
//
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
#if defined(__APPLE__) && defined(__MACH__)
#include <OpenGL/gl.h> // Header File For The OpenGL32 Library
#include <OpenGL/glu.h> // Header File For The GLu32 Library
#else
#include <GL/gl.h> // Header File For The OpenGL32 Library
#include <GL/glu.h> // Header File For The GLu32 Library
#endif
#include "SDL.h"

/* A general OpenGL initialization function.  Sets all of the initial parameters. */
void InitGL(int Width, int Height)         // We call this right after our OpenGL window is created.
{
  glViewport(0, 0, Width, Height);
  glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // This Will Clear The Background Color To Black
  glClearDepth(1.0); // Enables Clearing Of The Depth Buffer
  glDepthFunc(GL_LESS); // The Type Of Depth Test To Do
  glEnable(GL_DEPTH_TEST); // Enables Depth Testing
  glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity(); // Reset The Projection Matrix

  gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f); // Calculate The Aspect Ratio Of The Window

  glMatrixMode(GL_MODELVIEW);
}

/* The main drawing function. */
void DrawGLScene()
{
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer
  glLoadIdentity(); // Reset The View

  glTranslatef(-1.5f,0.0f,-6.0f); // Move Left 1.5 Units And Into The Screen 6.0

  // draw a triangle
  glBegin(GL_POLYGON); // start drawing a polygon
  glVertex3f( 0.0f, 1.0f, 0.0f); // Top
  glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
  glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
  glEnd(); // we're done with the polygon

  glTranslatef(3.0f,0.0f,0.0f);         // Move Right 3 Units

  // draw a square (quadrilateral)
  glBegin(GL_QUADS); // start drawing a polygon (4 sided)
  glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left
  glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right
  glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
  glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
  glEnd(); // done with the polygon

  // swap buffers to display, since we're double buffered.
  SDL_GL_SwapBuffers();
}

int main(int argc, char **argv)

  int done;

  /* Initialize SDL for video output */
  if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
    fprintf(stderr, "Unable to initialize SDL: %s\n", SDL_GetError());
    exit(1);
  }

  /* Create a 640x480 OpenGL screen */
  if ( SDL_SetVideoMode(640, 480, 0, SDL_OPENGL) == NULL ) {
    fprintf(stderr, "Unable to create OpenGL screen: %s\n", SDL_GetError());
    SDL_Quit();
    exit(2);
  }

  /* Set the title bar in environments that support it */
  SDL_WM_SetCaption("Jeff Molofee's GL Code Tutorial ... NeHe '99", NULL);

  /* Loop, drawing and checking events */
  InitGL(640, 480);
  done = 0;
  while ( ! done ) {
    DrawGLScene();

    /* This could go in a separate function */
    { SDL_Event event;
      while ( SDL_PollEvent(&event) ) {
        if ( event.type == SDL_QUIT ) {
          done = 1;
        }
        if ( event.type == SDL_KEYDOWN ) {
          if ( event.key.keysym.sym == SDLK_ESCAPE ) {
            done = 1;
          }
        }
      }
    }
  }
  SDL_Quit();
  return 1;
}
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

#835
Un artículo que entra a fondo en SDL y aceleración hardware
http://linuxdevcenter.com/pub/a/linux/2003/08/07/sdl_anim.html

¿Es esto lo que estás haciendo? porque esto supongo que será más facil para empezar.

O por el contrario lo que estas haciendo es eliminar SDL de Bennu, lo que estaría genial y optimizaría el sistema increiblemente.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Si, si, eliminaba el SDL y tu harias los ports multiplataforma :)

DCelso

Quote from: FreeYourMind on March 18, 2010, 05:26:25 PM
Si, si, eliminaba el SDL y tu harias los ports multiplataforma :)
¿?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Genial, si se le mete aceleración HW, Bennu, en vez de volar, viajaría por el espacio :D
Lo que me llama la atención es que los cambios se hagan en el core de bennu en lugar de en los módulos/librerías que tratan con gráficos y toda la pesca, y así luego poder escoger entre las librerías con SDL y las otras con OGL, sin variables ni nada, a traves de los imports ¿no era ese el objetivo?
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

josebita

Ha dicho que es una primera versión muy preliminar.
Pero si le estás metiendo cosas nuevas,  no deberíamos llamar a la rc11 cómo 1. 0 final?