AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 OniDev Library - Game Engine C++

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2, 3, 4, 5, 6  Suivant
AuteurMessage
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 11:41

OniDev Library
Bibliothèque C++ Multimédia - Game Engine

Présentation

La bibliothèque onidev est comme son nom l'indique, la bibliothèque du projet OniDev. Elle est actuellement seulement utilisable en C++11 et permet l'élaboration rapide de programmes ou jeux.

C'est cette librairie que j'utilise pour développer Planet Centauri, et je la modifie au cours du développement afin qu'elle corresponde au mieux à ce qu'un game developper puisse avoir besoin. Elle n'est donc pour l'instant pas très stable au niveau de l'API, mais fonctionnelle.

Elle est actuellement basée sur OpenGL pour la partie graphique, et OpenAL pour la partie audio, et fonctionne uniquement sous windows et linux.
Il y aura un port mac prochainement.


Pourquoi C++11

C++11 est une refonte totale du langage C++, et admet des nouveautés incontournables.
Cette bibliothèque en utilise une multitude comme les pointeurs intelligents, les std::thread et std::mutex, la sémantique move, les templates variadiques, les iterators pour la boucle foreach... et une multitude d'autres bonnes choses dont il est vraiment difficile de se passer quand on développe un gros projet.


Installation

-Sous windows-
Nécessite MinGW 4.8.1 TDM disponible ici (codeblocks-13.12mingw-setup-TDM-GCC-481.exe) ou ici.
Téléchargement: Bibliothèque + Dépendances + Exemples

Contiens déjà toutes les dépendances de la bibliothèque, il suffit d'extraire le contenu de lib dans votre MinGW/lib et le contenu de include dans votre MinGW/include (pour ceux qui ont installé Code::Blocks MinGW se trouve généralement ici: C:\Program Files\CodeBlocks\MinGW).
Il vous suffit ensuite de lancer un des exemples si vous avez Code::Blocks.

-Sous linux-
Version incomplète de la bibliothèque: http://wyvup.com/?c=A2QvQjX

-Code de base
Pour ceux qui veulent faire un nouveau projet, vous pouvez soit récupérer directement le template de projet vide dans 'Examples\Window\Window',
soit créer votre projet manuellement:

Code:
#include <onidev.h>

int main()
{
  using namespace od;
  Window win(640, 480, "OniDev app");
  win.setSynchronization(true);
 
  while(win.open())
  {
      win.ioHandle();
     
      if(keyPressed(vk_escape))
          break;
     
      drawClear();
      win.updateView();
     
      win.screenRefresh();
  }
 
  return 0;
}

Compilable ensuite avec:
Windows: g++ main.cpp -o out.exe -std=c++11 -lonidev -lwsock32 -lopengl32 -lglu32 -lgdi32 -luser32 -lkernel32 -lfreetype -lopenal32
Linux: g++ main.cpp -o out -std=c++11 -lonidev -lSDL2 -lGL -lopenal -lfreetype


Erreurs de compilation

Code:
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\onidev\core\streamReader.h|26|error: 'get' is not a member of 'std'|
Votre version de MinGW n'est pas assez récente, installer au moins MinGW version 4.8.1 TDM.
Code:
||=== Build: Release in window (compiler: GNU GCC Compiler) ===|
c:\program files (x86)\codeblocks\mingw\include\onidev\graphics\opengl\extensions.h|48|error: 'PFNGLCREATESHADERPROC' does not name a type|
c:\program files (x86)\codeblocks\mingw\include\onidev\graphics\opengl\extensions.h|49|error: 'PFNGLDELETESHADERPROC' does not name a type|
c:\program files (x86)\codeblocks\mingw\include\onidev\graphics\opengl\extensions.h|50|error: 'PFNGLISSHADERPROC' does not name a type|
c:\program files (x86)\codeblocks\mingw\include\onidev\graphics\opengl\extensions.h|51|error: 'PFNGLSHADERSOURCEPROC' does not name a type|
...
Vérifiez que votre MinGW\include\GL\glext.h fais bien ~464ko, si ce n'est pas le cas vous avez du mal écraser l'ancien (qui fait moins d'une centaine de ko et qui n'est pas a jour), écrasez le manuellement avec le nouveau.


Exemples

Pour ceux qui ne veulent pas télécharger l'archive ci-dessus, de nombreux exemples sont disponibles directement sur Github: https://github.com/onidev/OniDev-Examples


Features

La bibliothèque est partagée en plusieurs modules.

Actuellement inclus
Window
-Création de fenêtres avec un contexte graphique (opengl uniquement pour l'instant) et synchronisation verticale
-Gestion des événements clavier/souris/fenêtre
-Gestion des vues
-Gestion du temps et du framerate

Image
-Chargement et sauvegarde d'images au format png, jpg, bmp
-Couleurs
-Rampes de couleurs pour la création de gradients
-Rasterization de glyphs de polices vectorielles (ttf, otf)

Graphics
-Textures, filtrage, anisotropie, mipmaps, multitexturing
-Atlas de textures
-Sprites animés
-Polices et affichage de texte
-Surfaces avec possibilité d'utiliser un depth buffer pour la 3d
-Shaders

Particles
-Systèmes de particules (chaque système est indépendant et contiens ses propres instances)
-Types de particules définissables (couleurs, vitesse, etc...)
-Moteur de rendu des particules (modifiable via polymorphisme)
-Moteur physique des particules (modifiable via polymorphisme)
-Modificateurs comme les attracteurs (d'autres définissables manuellement via polymorphisme)
-Émetteurs de particules et particules émettrices (émetteurs définissables manuellement via polymorphisme)
-Super attributs, pour contrôler totalement les attributs d'une particule émise

Math
-vecteurs et matrices*
-quaternions*
-fonctions usuelles

Noise
-Bruit de perlin (1d, 2d, 3d)
-Bruit simplex (1d, 2d, 3d)
-Bruit complexes prédéfinis (multi fractal, ridged, periodic...)

Collision
-Rectangles alignés a l'axe
-Lignes
-Disques
-Masques binaires
-Polygones et polygones convexes
-Tilemaps

Game
-Contexte d'instances de type variable (template)
-Instances d'objets avec events, masques et gestion des collisions de type variable (template)
-Rooms pour utiliser des tilemaps facilement
-Partitionnement de l'espace

Sound
-Décodeurs ogg et wav
-Générateur

Audio
-Contexte audio avec choix possible du device
-Sons avec priorités, pool de sons et gestion automatique des sources
-Système de streaming
-Jouer une musique dans un thread
-Sons 3d avec listener

Network
-sockets tcp, udp, sélecteurs et écouteurs
-protocole irc*
-protocole http* et téléchargement de fichiers via http

System
-parcours d'arborescences de fichiers

Markup
-parseur xml
-parseur de string trees (un json like)
-parseur html


*certaines fonctionnalités peuvent manquer actuellement

_________________
                 


Dernière édition par onilink_ le Sam 2 Avr 2016 - 10:42, édité 42 fois
Revenir en haut Aller en bas
En ligne
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 11:55

Citation :
elle est sur la voie d'être compatible linux
crossa crossa crossa

Je n'ai pas code:block ou autre sous Windows, au prochain redémarrage je télécharge tout ça et je ferai un petit test Smile
Revenir en haut Aller en bas
Sekigo Le Magnifique
Utilisateur confirmé: Rang *****
avatar

Messages : 1720

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 13:43

J'attendrais que ce soit porté sous Linux.

Si je puis me permettre une petite suggestion, ce serait pas mal de pousser le plus rapidement possible un système de collision. C'est vraiment un truc ****** à faire manuellement, et ça distinguerais un peu plus ta lib des autres libs comme sfml.

J'attends aussi que les sources soient sorti pour voir l'étendu des dégats ton talent dans toute son oeuvre en programmation.
Personnellement, ça m'intéresse pas mal, ton projet. Ça peut être un bon point de départ pour un éditeur de jeu à la GM (sans ses défauts) sous Linux, parce que ça manque cruellement.
Revenir en haut Aller en bas
http://s2.noelshack.com/old/up/gmzonecbna-3cfbc56d25.jpg
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 14:33

Ouai ben pour le système de collisions disons que j'ai fait quelque chose mais je ne l'ai intégré qu'a onidev.
Le problème c'est que je vois pas trop quoi proposer ici.
Dans onidev j'ai une classe mère dont tous les 'objects' dérivent, et donc pour gérer les collisions j'utilise les attributs de ces objets.
Les variables bbox pour les collisions bounding box, le masque pour les collisions pixel perfect, etc.
Tout est automatique quoi.

Alors que la l'utilisateur gère son système d'objet lui même, donc a part créer des fonctions du style collisionBbox, ou collisionPixelPerfect,
je vois pas trop quoi faire :p

_________________
                 
Revenir en haut Aller en bas
En ligne
Sekigo Le Magnifique
Utilisateur confirmé: Rang *****
avatar

Messages : 1720

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 14:52

Ah, si tu as intégré ça à Onidev, ne prend pas ma remarque en compte alors.
Bon, bah, wait&see alors.
Revenir en haut Aller en bas
http://s2.noelshack.com/old/up/gmzonecbna-3cfbc56d25.jpg
-Coco-
Utilisateur confirmé: Rang ***
avatar

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 15:18

Ah !
Ça, c'est plutôt cool.

J'utilisais une très ancienne version de la onilib (y'avait que les fenêtres et les draws qui étaient opérationnels), qui em convenait plutôt bien, mais avec obligation de coder moi même tous les objects etc.
Là ça va me simplifier la tâche !
Beau boulot !

_________________
Oh, snap.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 15:34

Pour les objets ça devrais pas te simplifier la vie, vu que j'ai pas intégré le système d'instance, qui est propre a onidev (code généré par l'application).

Par contre tu devrais faire un tour du coté des shaders, j'ai fait une sur-couche haut niveau qui permet une utilisation bien plus facile (sans autant faire perdre de controle)
et les possibilités sont vraiment énormes.
Bref, y a de quoi s'amuser :p

_________________
                 
Revenir en haut Aller en bas
En ligne
Manju
Débutant
avatar

Messages : 11

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 16:00

Tu abandonne Onidev?
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 16:03

Bah non o_o
Cet lib est une partie d'onidev, mais ça reste une bibliothèque aussi.

_________________
                 
Revenir en haut Aller en bas
En ligne
louckas
Utilisateur confirmé: Rang *
avatar

Messages : 296
Projet Actuel : Ultimate worms

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 16:04

a quand la nouvelle version d'onidev?

_________________

bneige bneige bneige bneige bneige
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 16:13

Certainement ces vacances.

_________________
                 
Revenir en haut Aller en bas
En ligne
-Coco-
Utilisateur confirmé: Rang ***
avatar

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 16:34

Tant pis pour les objets (toutes façons un code Draw, et une collision AABB c'est pas non plus la mer à boire ^^).

Sinon j'ai jamais réussi à faire fonctionner les Shaders en OpenGL, je vais voir ce que ça donne Oo

_________________
Oh, snap.
Revenir en haut Aller en bas
robinlife
Utilisateur confirmé: Rang ****
avatar

Messages : 977

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 16:37

Ça promet !!
Je ferais surement mes prochains projet sous Onidev, et s'il n'est pas finis en C++ avec c'te lib.
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
avatar

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 16:52

Sinon, je peux toujours servir à fournir des exemples ? Smile
En fait c'est ce que j'aime bien faire car je suis incapable d'aboutir un projet, tous mes projets se résument par, en gros, des exemples.

_________________
Oh, snap.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 16:56

Bah si tu veux :p
Libres a vous de poster vos projets ici, que je corrige, commente &tout.

Et si quelqu'un est chaud pour jeter un œil sur l'orthographe de la doc, je prend :p

_________________
                 
Revenir en haut Aller en bas
En ligne
-Coco-
Utilisateur confirmé: Rang ***
avatar

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 17:33

Moi je suis OK pour l'orthographe de la doc, parce que quand j'ai lu la doc j'ai eu quelques spasmes des paupières à chaque faute que je voyais (je suis fauted'orthographobe)


EDIT : voilà la correction : man corrigé.7z
Sinon le fichier d'aide des primitives et des sprites est assez succint ^^

_________________
Oh, snap.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 17:45

Merci :p

Bah a vrai dire la doc est pas encore finie x)
Je préfère coder qu'écrire, c'est pour ça :p

_________________
                 
Revenir en haut Aller en bas
En ligne
arthuro
Utilisateur confirmé: Rang ****
avatar

Messages : 1320
Localisation : Grenoble / Méribel
Projet Actuel : CBNA

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 18:58

Génial,
D'autant que je ne programme les jeux plus qu'en c++.
Je garde cette page en mémoire, elle me servira sûrement dans quelque temps.
J'attendrais aussi la compatibilité linux.

Bon travail!

_________________

D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
avatar

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

MessageSujet: Re: OniDev Library - Game Engine C++   Sam 17 Déc 2011 - 22:39

Quand on commence le C++, on peut plus se remettre à GM x)
Personnellement même pour les tout petits projets de tests je sors l'artillerie lourde avec Code::Blocks, exit GM.
Probablement parce que j'aime coder de façon la plus compliquée possible, j'en acquiers toujours une sorte de satisfaction (la preuve, j'ai toujours codé directement en assembleur avec les calculatrices Ti, j'ai jamais utilisé de traducteur C -> assembleur disponible, ce qui est, je trouve, bien moins amusant).

Mais c'est vrai qu'en C++ du moins si tu te débrouilles pas trop mal, t'as une maîtrise totale et absolue de ce que tu fais, alors qu'avec GM, les instances et tout ça, c'est du prémâché, du coup t'as assez difficilement une maîtrise totale de ton projet.

_________________
Oh, snap.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 11:16

Pour les shaders je m'y connais qu'un tout petit peu, et je me limite au fragment shaders, qui permettent de modifier l'affichage au pixel près.
Voici un exemple de flou de base en GLSL : http://www.host-a.net/u/onilink_/OniLib_Shaders_example.7z
[edit]Ah oui en compilez en release sinon en debug il va chercher les fichiers dans bin\debug ...[/edit]

Sinon ouai effectivement quand on touche au C++, et qu'on trouve sa lib, y a pas de raison pour retourner sur GM.

Et bon vu que j'y suis, y en a qui ont des requêtes pour ce qui doit être codé en priorité ?
La je pensais faire les surfaces (depuis le temps que j'essaye de faire un truc qui fonctionne correctement >.>) et revoir quelques trucs en interne pour le fenêtrage.
(genre affichage de fenêtres multiples, multisampling, etc...)


N'empêche quand j'y pense, les surfaces couplés au shaders, omg les trucs de fou que ça pourrais donner ça x)

_________________
                 
Revenir en haut Aller en bas
En ligne
-Coco-
Utilisateur confirmé: Rang ***
avatar

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 12:12

Les surfaces oui, ça fait bien, le tout affichable avec du Blend Mode on peut obtenir des effet super.

Sinon est ce qu'il existe des choses pour afficher la fenêtre en dessus de tout ?
Bon c'est moyennement clair, je m'explique :
J'avais fait un programme de labyrinthe en 3D fonctionnant à la Onilib, le tout mixé avec une console application pour demander la longueur et la largeur du laby à coup de cin >>. Seulement, quand j'instanciais la fenêtre, elle s'affichait derrière la console et comme j'utilisais des windowMouseSet, ça foutait un bordel bizarre.
Donc existe-t-il un moyen de faire ça automatiquement ou je suis obligé d'appuyer sur Alt+Tab ?

_________________
Oh, snap.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 12:13

Ouai bah faut que je code la fonction windowSetStayontop, comme dans GM.

_________________
                 
Revenir en haut Aller en bas
En ligne
Craki
Utilisateur confirmé: Rang ****
avatar

Messages : 1468
Localisation : Dans l’univers de métamatière

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 12:17

Si j'ai bien compris, c'est une sorte de SDL simplifiée ? Y'en a des masses des bibliothèques du genre. crossa

_________________
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 12:20

Ben t'as mal compris.

_________________
                 
Revenir en haut Aller en bas
En ligne
master47
Utilisateur confirmé: Rang *****
avatar

Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 13:06

C'est plutôt une bibliothèque d'helpers pour le dev en C++ façon game maker non ?

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
 
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 13:19

Surtout oui, c'était le but a la base, même si maintenant j'essaye de pousser le truc un peu plus loin.

Et contrairement a la SDL, ou la SFML, cette lib est extrêmement légère.
Essayez donc de faire un appli avec, bah pour dépasser les 100ko faut vraiment y aller :p
Et elle n'a besoin pour l'instant d'aucune dépendance.

Et a la différence de SDL, ou les draw fonctionnent de manière bizarre, la tout n'est que de l'OpenGL,
donc on a le droit aux performances matérielles.
(Perso j'ai jamais aimé SDL, avec ces events qui fonctionnent de manière bizarre, ces surfaces chelou, etc etc.)

Bref c'est pas vraiment comparable.

Et "qu'il y ai des masses de lib dans le genre", même si c'était vrai, n'est-ce pas justement mieux ?
A ce que je sache la diversité n'a jamais fait de mal.

_________________
                 


Dernière édition par onilink_ le Dim 18 Déc 2011 - 13:22, édité 1 fois
Revenir en haut Aller en bas
En ligne
-Coco-
Utilisateur confirmé: Rang ***
avatar

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 13:21

Juste un problème avec ton exemple de shaders :
Il me dit :
Shader compilation error : ERROR: 0:3: 'float4' : syntax error parse error

Comme j'y connais rien en shaders, je sais pas trop ce que ça veut dire. Ca le fait chez d'autres ou c'est un problème propre au windows 7 de ma soeur ? Yum!

_________________
Oh, snap.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 13:23

Elle a quoi comme carte graphique ?

Sinon essaye de mettre vec4 a la place de float4. Il me semble que float4 est déprécié.

_________________
                 
Revenir en haut Aller en bas
En ligne
-Coco-
Utilisateur confirmé: Rang ***
avatar

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 13:32

En même temps il se passe des trucs étranges sur son ordi.
Par exemple sur mon pacman le fantômes commencent en apeuré et mon score passe directement à 6000.
Et dans mon MC-like (abandonné mais toukours amusant de voir ce qu'il donne sur différents ordis), la caméra se dirige vers le haut de façon inexpliquée.

Sinon la carte c'est une Intel HD Graphics.

En mettant "vec4" il me dit que c'est les ":" qui ne vont plus, avec la même erreur.
Argh je revois pas mon bon vieux windows XP avant 2 semaines :p

_________________
Oh, snap.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8898
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: OniDev Library - Game Engine C++   Dim 18 Déc 2011 - 13:44

Voici la version corrigé :
Code:
uniform sampler2D samp0;
void main()
{
    vec2 a = vec2(1.0/640.0, 0);
    vec2 b = vec2(0, 1.0/480.0);
    gl_FragColor = (texture2D(samp0, gl_TexCoord[0].st+a) + texture2D(samp0, gl_TexCoord[0].st-a) +
                    texture2D(samp0, gl_TexCoord[0].st+b) + texture2D(samp0, gl_TexCoord[0].st-b))*0.25;
}

Edit:
Et un shader noir et blanc :
Code:
uniform sampler2D samp0;
void main()
{
    vec4 color = texture2D(samp0, gl_TexCoord[0].st);
    float outc = (color.r + color.g + color.b)/3.0;
    if(outc >= 0.5) outc = 1.0; else outc = 0.0;
    gl_FragColor = vec4(outc, outc, outc, 1.0);
}

_________________
                 
Revenir en haut Aller en bas
En ligne
Contenu sponsorisé




MessageSujet: Re: OniDev Library - Game Engine C++   

Revenir en haut Aller en bas
 
OniDev Library - Game Engine C++
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 6Aller à la page : 1, 2, 3, 4, 5, 6  Suivant
 Sujets similaires
-
» The Lying Game
» Escape the Library : un autre "room escape"
» Game of Thrones
» Créer une cartographie devient vraiment facile avec Google Maps Engine Lite
» EPOXIA ORAGIS, projet jeu de combat Game Maker

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Informations :: Projets-
Sauter vers: