IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

cpu-engine : un framework 3D open source sans GPU


Sujet :

Projets

  1. #1
    Membre Expert
    Avatar de lagwag
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 699
    Par défaut cpu-engine : un framework 3D open source sans GPU
    Bonjour,

    J’ai développé un mini moteur / framework permettant de créer des jeux 3D sous Windows avec un rendu entièrement CPU. La seule exception (désactivable) concerne la phase de Present, utilisée uniquement pour effectuer le stretch du framebuffer vers la fenêtre lorsque leurs résolutions diffèrent.

    À l’origine, ce projet avait un objectif pédagogique : servir de support pour enseigner le pipeline 3D à des étudiants avant d’aborder une API graphique moderne. Je le mets aujourd’hui à disposition sur GitHub, aussi bien pour les curieux que pour les étudiants, ou même pour ceux qui souhaiteraient s’en servir comme base pour leurs propres jeux.

    Le rendu est optimisé via du multi-threading (activé en release uniquement), en s’appuyant sur un modèle de tiles afin de compartimenter l’écran. Un système de particules pixel est également présent, avec une attention particulière portée à l’alignement mémoire pour les performances.

    Nom : cpu.jpg
Affichages : 180
Taille : 198,5 Ko

    Le moteur reproduit volontairement le pipeline classique des GPU :
    spaces local / world / view / clip / screen, vertex & pixel shaders, meshes, materials, ainsi que des fonctions de callback côté pixel shader.

    L’éclairage se limite pour l’instant à une lumière directionnelle (Gouraud / Lambert).

    Les optimisations classiques sont bien sûr là : culling, clipping, tri des objets par profondeur, etc.

    Les textures et UVs sont gérés pour les meshes (tailles en puissance de deux, sans transparence) ainsi que pour les sprites (avec transparence, sans contrainte de taille). Les fonctionnalités 2D restent volontairement limitées, principalement pour de l’UI basique.
    Il est toutefois possible d’afficher du texte via la création de fonts à partir de fichiers TTF, avec génération dynamique de spritesheets.

    Le framework est découpé en trois bibliothèques statiques :
    core, render et engine, et une démo est fournie pour illustrer l’ensemble.

    En dehors de l’API Windows (gestion de la fenêtre), de quelques fonctions système, et de DirectXMath pour exploiter les instructions SSE2, il n’y a aucune autre dépendance externe.

    Amusez-vous bien...

    LIEN GITHUB :

    https://github.com/sylvainseccia/cpu-engine

  2. #2
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 683
    Par défaut
    Hello,

    Beau projet en tout cas. C'est marrant il correspondait exactement aux besoins que j'avais il y a quelques années. C'est typiquement le genre de projet sur lequel on est content de tomber.

  3. #3
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 603
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 603
    Par défaut
    merci Lagwag pour la contribution

Discussions similaires

  1. Réponses: 15
    Dernier message: 02/10/2023, 09h07
  2. Katalon open source sans internet
    Par azziz2005 dans le forum Test
    Réponses: 0
    Dernier message: 15/04/2020, 14h21
  3. Réponses: 7
    Dernier message: 18/10/2017, 22h40
  4. Entity Framework devient Open Source
    Par Hinault Romaric dans le forum Entity Framework
    Réponses: 6
    Dernier message: 27/07/2012, 00h03
  5. Framework&Tools Open Source en Java pour Jeux Videos
    Par karmaGfa dans le forum Projets
    Réponses: 3
    Dernier message: 29/01/2007, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo