π
<-
Chat plein-écran
[^]

News 2023
Mai (2)
Avril (1)
Mars (1)

News 2022
Mars (3)

News 2021
Juin (1)
Mai (5)
Avril (3)

News 2020

News 2019
Avril (1)

News 2018
Août (1)
Juin (3)

News 2017
Août (2)
Mars (1)

News 2016
Avril (3)
Mars (3)

News 2015
Août (2)
Juin (1)
Mai (4)
Mars (1)

News 2014
Août (2)
Juin (1)
Mai (1)

News 2013
Août (12)
Juin (1)
Mai (5)
Avril (4)
Mars (1)

News 2012

La 3D en raycasting étendu débarque sur HP-Prime

Nouveau messagede critor » 04 Aoû 2014, 21:17

Enfin un moteur 3D en raycasting étendu sur HP-Prime ! :bj:
Finally an extended 3D raycasting engine on the HP-Prime ! :bj:


Pour la rentrée 2013, les premiers tests de performance du langage de programmation interprété de la HP-Prime furent extraordinaires. Jamais nous n'avions vu un langage interprété sur calculatrice bénéficier d'une telle puissance... Si bien que contrairement à d'autres calculatrices, l'idée de coder un moteur 'raycasting' directement dans le langage interprété originel fut rapidement évoquée ! :o
For back to school 2013, the first performance tests using HPPPL, the interpreted programming language of the HP-Prime, were extraordinary. We had never seen an interpreted language on calculator benefiting of such power... So unlike other calculators, the idea of coding a raycasting engine directly with the original interpreted language quickly existed ! :o



Mais qu'est-ce que c'est ? Le 'raycasting' ou littéralement "lancer de rayons" est un type de moteur permettant le rendu en temps réel de mondes 3D relativement simples. Il est particulièrement adapté aux jeux vidéos tournant sur des machines de faible puissance.
But what is it? Raycasting is a type of engine allowing realtime rendering of relatively simple 3D worlds. It is particularly suited to video games running on low power machines.


On peut citer à titre d'exemples Catacomb 3-D dès 1991 ou Wolfenstein 3D en 1992, tous deux du studio ID Software.
Notons pour anecdote que paradoxalement, Wolfenstein 3D a été accusé par une certaine presse d'alors de faire l'apologie du nazisme avec de nombreux affichages de croix gammées et portraits d'Hitler sur les murs, alors que le but du jeu était justement de combattre les nazis.
Can be cited as examples Catacomb 3-D in 1991 or Wolfenstein 3D in 1992, both from the ID Software studio.
Note to anecdote paradoxically, Wolfenstein 3D was accused by some press then to advocate Nazism with many displays of swastikas and Hitler portraits on the walls, while the goal of the game was precisely to fight the Nazis.


Le principe de base en est relativement simple. Le monde est codé sous la forme d'une matrice binaire, c'est-à-dire un tableau de nombres valant zéro ou un, permettant donc des murs sous forme de cubes de même côté. A partir de la position du joueur, une simple boucle lance une série de rayons dans les directions autorisées par le champ de vision. Lorsqu'un rayon frappe un mur il s'arrête et retourne des informations sur cet objet à afficher, notamment la distance parcourue c'est-à-dire son éloignement qui, après correction de la courbure de l'oeil, donnera sa taille en pixels sur l'écran.
The basic principle is relatively simple. The world is encoded as a binary matrix, that is to say, an array of numbers equal to zero or one, thereby allowing walls formed of cubes with the same side. From the player position, a single loop is launching a series of rays in directions possible according to the field of view. When a ray hits a wall it stops and returns information about the object to be displayed, including its distance which, after correction of the curvature of the eye, gives its size in pixels on the screen.

Image Image


Toutefois avec ces murs de même hauteur ne pouvant que se prolonger ou être perpendiculaires, en pratique les mondes codés prennent très souvent la forme de labyrinthes, de plus en plus énormes et monotones avec l'avancée dans les niveaux du jeu et rapidement ennuyants selon moi.
However, with walls of the same height which can only be perpendicular, in practice such worlds often take the form of mazes, more and more huge and monotonous with the advance in the game levels, which quickly becomes quite annoying according to me.



Tant qu'à avoir un tableau de nombres, un amélioration immédiate du principe est de coder dans chaque case des informations supplémentaires sur l'altitude et la hauteur de l'objet. L'on peut alors créer des mondes beaucoup plus riches qui commencent véritablement à utiliser la 3ème dimension, avec des salles, escaliers...
C'est un des principes utilisés par ID Software dans la série de jeux Doom initiée dès 1993.

La complexité de l'algorithme est toutefois bien plus élevée car, les objets 3D pouvant avoir des altitudes et hauteur différentes, les rayons lancés ne s'arrêtent plus au premier objet rencontré. En effet, il peut y avoir d'autres objets qui dépassent derrière et seront donc partiellement visibles...

L'autre ajout essentiel qui ne sera pas explicité ici, est que l'objet 3D élémentaire n'est plus un prisme droit à base carrée mais un prisme droit à base triangulaire, triangle possiblement quelconque. C'est-à-dire que l'on peut reconstituer par assemblage n'importe quel type de polygone permettant ainsi des intersections libérées des contraintes initiales de perpendicularité.

Toutefois, les différents niveaux restent selon moi très en intérieur et encore dans le style de labyrinthes. Le studio Raven software a selon moi bien mieux exploité les possibilités du moteur 3D de Doom, en sortant dans le cadre d'un contrat avec ID Software les jeux Heretic et Hexen qui sont d'ailleurs illustrés ci-dessus.
As long as you have an array of numbers, an immediate improvement of the principle is coding in each cell additional information like the altitude and the height of the object. One can then create much richer worlds truly begining to use the third dimension, with halls, stairs...
This is one of the principles used by ID Software games in the Doom series initiated in 1993.

However, the complexity of the algorithm is much higher because 3D objects may have different heights and altitudes, the cast rays do not stop on the first object encountered. Indeed, there may be bigger objects behind which will be partially visible ...

The other essential addition that will not explained here is that the basic 3D object is no longer a square base right prism, but one with a triangular base That is to say that bases can be merged into any type of polygon allowing intersections released from the initial perpendicularity.

However, the Doom levels remain mainly indoors and still take the forms of labyrinths. According to me, the Raven Software studio has much better used the possibilities of the new Doom 3D engine of Doom through a contract with ID Software in its Heretic and Hexen games.




Personne d'autre ne semblant s'en être occupé entre temps, j'ai donc le plaisir de vous sortir ce soir le tout premier moteur 3D raycasting pour HP-Prime, PrimeCaster 3D.

Le moteur met d'emblée la barre très haut en implémentant non pas le raycasting basique, mais le raycasting étendu avec une matrice de hauteurs et altitudes. Les objets 3D élémentaires sont ainsi des prismes droits de même base carrée.

Les mondes 3D gérés sont donc intermédiaires entre Wolfenstein 3D et Doom. Ils sont en conséquence bien mieux que ceux du raycasting basique, avec la possibilité d'avoir des étages, escaliers, tunnels...

Le moteur a la particularité d'être à qualité variable et d'adapter automatiquement la précision des rayons 3D lancés pour cibler le FPS (Frames Per Second - soit images par seconde) que vous réglez avec les touches 'plus' et 'moins'.
Pour cela il mesure tout simplement le temps de rendu d'une frame en millisecondes (instruction 'Ticks') et vérifie que cela ne soit pas trop éloigné du temps correspondant à votre FPS. Vous aurez donc le confort de jouer avec un FPS relativement constant ! :bj:
J'estime pour ma part qu'un jeu commence à être 'jouable' à partir de 2 FPS.

Le logiciel HP-Prime étant plus rapide que la calculatrice, pour un même FPS et un même environnement 3D, nous aurons une meilleure qualité sur ordinateur que sur calculatrice.
As apparently nobody else took care of it, I am pleased to release you tonight the first 3D raycasting engine for the HP-Prime, PrimeCaster 3D.

The engine does not implement the basic raycasting, but some extended raycasting with an array of heights and altitudes. Basic 3D objects are right prisms with the same square base.

Possible 3D worlds are between Wolfenstein 3D and Doom. But they are still much better than the 3D worlds of the basic raycasting, with the possibility of having the floors, stairs, tunnels...

This particular engine has a variable quality and automatically adjusts the precision of the cast 3D rays to target the FPS (Frames Per Second) that you set with the 'plus' and 'minus' keys.
To do this, it simply checks the rendering time of the last frame in milliseconds (instruction 'Ticks') and verifies that it is not too far from the time corresponding to the FPS you've specified. You will have the comfort of playing with a relatively constant FPS ! :bj:
According to me, a game starts to be 'playable' with 2 FPS.

HP-Prime software being faster than the calculator, for the same FPS and the same 3D environment we will have a better quality on the computer than on the calculator.


3755
Comme vous le voyez, dans le cas d'un champ de vision globalement obstrué, la qualité bien qu'inférieure à celle du logiciel reste très honorable et jouable sur calculatrice. En effet les rayons lancés sont stoppés et ne continuent pas jusqu'au bord de la matrice puisque rien ne peut être visible derrière de tels objets.
As you can see, in the case of a mostly obstructed field of view, the quality on the calculator remains decent and yields a playable game, even if the quality is lower on the calculator. The cast rays are stopped, and do not extend as far as the matrix's edge, because nothing is visible behind such objects.


3756Par contre, dans le contexte d'un champ de vision libre en extérieur, c'est bien moins le cas.

Dans le contexte de l'algorithme actuel que j'ai quand même pas mal optimisé, faire un jeu jouable sur calculatrice dans une qualité acceptable nécessiterait de privilégier les scènes en intérieur, ou de prendre bien soin pour les scènes en extérieur d'obstruer rapidement le champ par de grands murs.
Une autre possibilité serait de revenir à l'algorithme basique du raycasting à la Wolfenstein 3D qui sera sûrement fluide au vu de ces performances, mais je trouve que ce serait bien dommage de se limiter à cela sur l'extraordinaire machine qu'est la HP-Prime.
In the context of the current algorithm which is already optimized, making a game playable on the calculator in an acceptable quality would need to build a 3D world with mainly interior scenes, or to take care of quickly obstructing the field of view with large walls for outdoor scenes.
Another possibility would be to return to the basic raycasting algorithm from Wolfenstein 3D which will surely run smoothly according to the above performances, but I think it would be a shame to limit us to such 3D worlds on the HP Prime.


Enfin, trois situations sont de plus gérés et interchangées via la touche 'espace':
  • de nuit, muni d'une torche
  • de jour, rayons solaires inclinés (matin ou après-midi)
  • dans le brouillard
Finally, three contexts are managed and interchanged via the 'space' button :
  • by night with a torch
  • by day, sunlight slanted (morning or afternoon)
  • in the fog




Pénètre dès maintenant mon château fort pour tenter d'atteindre le sommet du donjon si tu en es capable, et pourquoi pas après de créer ton propre monde 3D en modifiant la matrice ! ;)
Now enter my castle and try to reach the top of the dungeon if you can, and why not after this create your own 3D world by modifying the matrix! ;)



Téléchargement :
Download :
PrimeCaster 3D 1.0

Source images explicatives raycasting basique : Tutoriel raycasting basique (en français)
Source for images explaining the basic raycasting : Basic raycasting tutorial (in french)


Lien vers le sujet sur le forum: La 3D en raycasting étendu débarque sur HP-Prime (Commentaires: 17)

Nouveau firmware HP-Prime 6031

Nouveau messagede critor » 20 Aoû 2014, 00:48

Hewlett Packard nous publie ce soir un nouveau firmware pour sa calculatrice tactile couleur HP-Prime.
Il date du 2 juillet et porte le numéro de build 6031, ce qui veut dire qu'il y a eu une seule recompilation depuis la build 6030 du 30 mars dernier.

Dans ce contexte, il ne faut pas s'attendre à beaucoup de nouveautés. En effet, il n'y en a qu'une seule.

Nous vous avions déjà parlé du fait qu'il existait deux types HP-Prime:
  • les HP-Prime en révision matérielle A, de référence NW280AA (rentrée 2013)
  • les HP-Prime en révision matérielle C, de référence G8X92AA (rentrée 2014)

Les révisions A souffrent d'un gros défaut, avec de grosses limitations de la prise USB, empêchant paradoxalement l'utilisation de périphériques qui avaient été annoncés et mis en avant lors de la campagne de lancement:
  • pas de possibilité d'utiliser le module sans-fil USB :mj:
  • pas de possibilité d'utiliser la station d'acquisition de mesures physiques USB HP StreamSmart 410 :mj:
  • impossibilité de connecter directement la calculatrice en USB à une autre calculatrice HP-Prime :mj:


Avec cette nouvelle build 6031, à part une amélioration côté StreamSmart (pour rev. C+, donc), ces incompatibilités ont toujours l'air présentes :(

Les problèmes bien plus importants, concernant l'utilisateur lambda, demeurent présents, comme :
  • La non gestion des suites commençant au rang 0, une véritable aberration pour l'enseignement secondaire général et technologique en France qui sera source d'erreurs pour de nombreux lycéens choisissant ce modèle. :mj:
    Toutes les séries du BAC sont concernées par ce défaut car c'est un thème très important enseigné de façon transversale: S, ES, L, STMG, STI2D, STD2A, STL et ST2S ! :o
  • La stabilité absolument déplorable du modèle - il ne se passe pas une seule journée d'utilisation sans que ma HP-Prime ne plante au moins une fois, alors que je ne fais rien de spécial ou de non documenté puisque pour le moment nous n'avons pas accès à la programmation en langage machine. :mj:
Non je suis désolé, mais nous sommes maintenant à la veille de la rentrée 2014 et la HP-Prime n'est toujours pas au point après un an.


Source photo : http://www.hpgraphingcalc.org/prime.html

Téléchargement : HP-Prime firmware 6031
Lien vers le sujet sur le forum: Nouveau firmware HP-Prime 6031 (Commentaires: 10)

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1249 utilisateurs:
>1240 invités
>4 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)