Author Topic: rage sur iphone  (Read 2684 times)

0 Members and 1 Guest are viewing this topic.

nystep

  • Guest
rage sur iphone
« on: 22 November 2010 à 16:15:27 »
Bien oui. Pour ceux qui ne sont (pas encore) au courant, rage est le nouveau jeu d'id software codé par mon dieu: john carmack (ou juste après kalms/tbl).

J'avoue donc que je me suis (encore) gouré: le jeu n'utilise pas du raytracing, mais juste les mégatextures. C'est tout de même fort... un jeu sur téléphone qui met une belle claque aux jeux wii wii graphiquement... ;)

http://www.presence-pc.com/actualite/rage-iphone-41409/

Offline LittleWhite

Re : rage sur iphone
« Reply #1 on: 22 November 2010 à 20:15:13 »
Beau jeu y a pas à dire,

Pour rappel, les Iphone ont une puce de chez Imagination Technologies, (SGX quelque chose (dépendant des séries)) compatible (pour la série 4) avec OpenGL ES 2. Du coup la puce peut géré les shaders :)

Offline krabob

  • Base
    • Pouet.net
    • View Profile
    • www.m4nkind.com
  • Ancienneté: 1994
  • Groupe: Mankind
  • Rôle: code amiga / linux / OpenGL
  • Ville: Toulouse
Re : rage sur iphone
« Reply #2 on: 23 November 2010 à 14:20:50 »
Quote
john carmack (ou juste après kalms/tbl).
pareil... ou alors ex-aequo ! :)

 ...  A noter pour ceux qui auraient pas saisie les nuances
que sur les systèmes embarqués, on fait du OpenGL ES 1 ou 2 , ce qui est pas pareil que du OpenGL 1 ou 2.
 Notamment, en OpenGL ES 2 , la moitié des fonctions de bases de opengl ont été virées (les glColor, les fonctions de matrices, les fonctions coords textures), il faut remplacer tout ça par ses propres définitions de uniforms / attributes. .. c'est en fait super intéressant à coder, et c'est une des rares API qu'on peut trouver en commun sur le IPhone OS SDK, l'android SDK et surement symbian ... (mais pas ce putain de MS Phone 7)
« Last Edit: 23 November 2010 à 14:30:07 by krabob »
Votez comme ça Mélenchon ... ou Clément Wittman, ... ou Eva ! Oo

Offline ponce

Re : rage sur iphone
« Reply #3 on: 23 November 2010 à 15:35:17 »
et WebGL aussi non ?

Offline LittleWhite

Re : rage sur iphone
« Reply #4 on: 23 November 2010 à 19:25:52 »
Je compare OpenGL ES 1 à OpenGL 1.4 (allégé) et OpenGL ES 2 à OpenGL 3 (car dans OpenGL ES 2 comme dans OpenGL 3 il n'y a plus le pipeline fixe). Sinon, bien sur, OpenGL ES c'est de l'OpenGL allégé et des fois ... il n'y a pas de float)

Offline MsK`

  • Base
    • Pouet.net
    • View Profile
  • Rôle: Code
  • Ville: Paris/RP
Re : rage sur iphone
« Reply #5 on: 24 November 2010 à 00:37:38 »
iPhone 3G : PowerVR MBX (opengl es 1.1, pas de shaders)
iPhone 3GS/4/iPod Touch récents/iPad : PowerVR SGX 535/545 (opengl es 2.0, vertex & fragment shader)
Et oui, c'est la première chose que j'ai remarqué quand j'ai commencé à dev' sur iPhone : merde, cette machine est complètement sous exploitée, c'est un monstre !
(parce que la je vous passe le cpu qui est un cortex a8, avec un fpu pas trop dégueux, sur ARM !, et même une unité vectorielle - neon - qui marche sur les flottants mais aussi sur les entiers en point fixe et tout, plus la quantité de ram monstrueuse et patati et patata...)

Offline krabob

  • Base
    • Pouet.net
    • View Profile
    • www.m4nkind.com
  • Ancienneté: 1994
  • Groupe: Mankind
  • Rôle: code amiga / linux / OpenGL
  • Ville: Toulouse
Re : rage sur iphone
« Reply #6 on: 24 November 2010 à 10:57:04 »
 Intéressante info msk.
 tient pour parler expériences, j'ai été fort déçu par certains aspect de l'opengl ES 1 d'android:
- les matrices, qu'on manipule avec des float, sont gérées avec des entiers fixe<<16 : (quel que soit le hardware apparemment). Une fonction permet de surcharger l'implémentation java opengl pour y mettre du code en float (ce que les exemples android font), par contre ça ne fonctionne pas sur l'implé Opengl C++ d'android (à utiliser sous des JNI). La solution en C++: coder ses matrices soit meme et utiliser glLoadMatrix() "au dernier moment". (je garde la projection en entier)

- selon les docs d'android, dés qu'on cache une fenêtre lié a un contexte GL, ou simplement si le device part en pause, Il faut DETRUIRE tout le contexte GL a chaque fois, et le re-créer quand on revient de la pause (c.a. dire recréer toutes les textures,....) (si si je vous jure) ... j'ai overridé/patché une classe pour pas avoir a le faire pendant la pause, mais lors de certains événement système c'est bien obligé (les app android doivent savoir détruire et recréer tout leurs objets UI , sans que l'app quitte pour autant) ... Un truc de malade, mais j'aime bien l'idée en fait.
« Last Edit: 24 November 2010 à 10:59:10 by krabob »
Votez comme ça Mélenchon ... ou Clément Wittman, ... ou Eva ! Oo