| CBNA Rebirth Days | |
|
+46Herdge Mazava-Fotsy BuzzJeux Chlorodatafile samylebonois hyper red-error Linky439 GrandeLangue [TheDarkTiger] athome nolialsea Craki Falindir974 Oculus firefox_20 alpha Elriks Voxy Cysteine Mass -Coco- Linuxien SPLN Qual mortelkill Xaychru04 Crystal Noir Mobi Caly Arkanisa supmaster004 Bast Rem_101 glcraft Asu DarkYoshi gamernew marty GDOR1 arthuro D-z Pixel-boy M@d_Doc Térence onilink_ 50 participants |
|
Auteur | Message |
---|
hyper Utilisateur confirmé: Rang ****
Messages : 1458 Localisation : près de Nantes Projet Actuel : Super Note Aventure
| Sujet: Re: CBNA Rebirth Days Dim 26 Oct 2014 - 20:54 | |
| Rapprocher d'une seule couleur, réserver les contours noirs au premier plan... _________________ côt.
|
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: CBNA Rebirth Days Dim 26 Oct 2014 - 21:34 | |
| Bah c'est assez rapproché d'une seule couleur je trouve : l'ensemble des immeubles tournent dans les nuances de gris...après, je vois ce que tu veux dire, je le retravaillerait un peu surement. _________________ Cliquez pour accéder aux topics dédiés ! |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: CBNA Rebirth Days Dim 26 Oct 2014 - 22:19 | |
| - Linky439 a écrit:
- C'est quoi le but du jeu ? ^^
C'est juste un truc codé (et sprité) en une journée (y'a de l'eau en bas qu'on voit pas et les autres armes sont pas codées mais spritées) Je me suis basé sur le moteur de physique d'onilink, pour l'instant ça couvre 103 lignes de code et ça fonctionne niquel. Pour l'instant c'est la base d'un jeu mais pour l'instant j'ai pas trop d'idée quand au but du jeu, pour l'instant c'est juste, on va dire, un moteur ^^ Un jeu de zomb survival ou bataille ptet... Terrain destructible au fait _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: CBNA Rebirth Days Lun 27 Oct 2014 - 18:31 | |
| Rendre un peu plus terne je pense |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: CBNA Rebirth Days Mar 28 Oct 2014 - 10:09 | |
| Je commence à faire une petite lib pour interpréter les fichiers .mid en 100% GML Pour l'instant pour apprendre le fonctionnement des fichiers .mid je fais un script qui permet de vérifier si le fichier .mid semble corrompu ou pas. Pour l'instant il gère les erreurs : - Les 8 premiers octets statiques du header chunk (MThd et 000 000 000 006 (Les 4 derniers octets sont la longueur du header MIDI, toujours à 6 car il n'y a jamais plus de 14 octets dans le header chunk)) ne sont pas corrects
- Le track chunk commence avant que le header chunk ne finisse
- Le track chunk est censé commencer mais il n'y a pas MTrk au début du fichier
Y'en a beaucoup à faire et le code est déjà plutôt gros : - Spoiler:
// gmid_check(file); // returns whether the mid is correct (1 = OK, 0 = Error)
var file; file = argument0;
// Init MIDI 8 first static header chunk bytes var header_chunk;
// MThd header_chunk[0] = 77; header_chunk[1] = 84; header_chunk[2] = 104; header_chunk[3] = 100;
// Header chunk length (Always 6, so 0 0 0 6) header_chunk[4] = 0; header_chunk[5] = 0; header_chunk[6] = 0; header_chunk[7] = 6;
// Init MIDI 4 first static track chunk bytes var track_chunk;
// MTrk track_chunk[0] = 77; track_chunk[1] = 84; track_chunk[2] = 114; track_chunk[3] = 107;
// Check for MThd / 0 0 0 6 header chunk var byte; for (cur=0; cur<8; cur+=1) { file_bin_seek(file, cur); byte = file_bin_read_byte(file); if (byte != header_chunk[cur]) { show_message("Error at byte " + string(cur+1) + " : Invalid header chunk.##Excepted : " + string(header_chunk[cur]) + "#Received : " + string(byte) + "##Static header chunk bytes corrupted"); return false; } }
// Check for unfinished header (MTrk before chunk header end) for(cur=8; cur<14; cur+=1) { var foundmtrk; foundmtrk = false; for(chkcur=cur; chkcur<cur+4 && !foundmtrk; chkcur+=1) { file_bin_seek(file, chkcur); chkbyte = file_bin_read_byte(file); if (chkbyte != track_chunk[chkcur - cur]) { foundmtrk = true; } } if (foundmtrk == false) { show_message("Error at bytes R=#000080]string(cur+1) + ", " + string(cur+5) + "] : Invalid header chunk.##MTrk found but header chunk not ended"); return false; } }
// Check for invalid format type for(cur=14; cur<18; cur+=1) { file_bin_seek(file, cur); byte = file_bin_read_byte(file); if (byte != track_chunk[cur-14]) { show_message("Error at byte " + string(cur+1) + " : Invalid header chunk/track chunk.##Excepted : " + string(track_chunk[cur-14]) + "#Received : " + string(byte) + "##MTrk excepted but not found"); return false; } }
show_message("File not corrupted");
_________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: CBNA Rebirth Days Mar 28 Oct 2014 - 10:12 | |
| Tu devrais te faire des fonctions pour lire directement les word (2 bytes) et uint (4 bytes), ça te sera utile si tu veux un code pas trop moche :b
|
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: CBNA Rebirth Days Mar 28 Oct 2014 - 10:14 | |
| - onilink_ a écrit:
- Tu devrais te faire des fonctions pour lire directement les word (2 bytes) et uint (4 bytes), ça te sera utile si tu veux un code pas trop moche :b
Oui pas bête, car quand je vois toutes les exceptions à faire qui restent o: (Sinon je me réfère à ça : http://www.sonicspot.com/guide/midifiles.html)Je vois que tu aimes bien le midi, je me pose une question, est-ce que c'est possible que le header chunk soit séparé du premier track chunk par un truc du style copyright et co? _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: CBNA Rebirth Days Mar 28 Oct 2014 - 10:29 | |
| |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: CBNA Rebirth Days Mar 28 Oct 2014 - 17:12 | |
| Avancée de ma lib en cours de création, g.mid o/ Pour gmid_check :
- Nouvelles dépendances : file_read_dword, file_read_word
- Nouvelles erreurs gérées :
- Le type de MIDI est invalide (Pas 0, 1 ou 2) - Le nombre de pistes est invalide (0) - Il y a trop de pistes (En MIDI 0 on ne peut avoir qu'une piste)
- Recodage quasi-entier en utilisant des fonctions appropriées : +50% de place
gmid_check - Code:
-
// gmid_check(file); // returns whether the mid is correct (1 = OK, 0 = Error)
var file; file = argument0;
// Init MIDI 8 first static header chunk bytes var header_chunk;
// MThd header_chunk[0] = 1297377380; header_chunk[1] = 6;
// Init MIDI 4 first static track chunk bytes var track_chunk;
// MTrk track_chunk[0] = 1297379947;
// Check for MThd / 0 0 0 6 header chunk var dword, word, mid_type, mid_tracks; dword = file_read_dword(file, 0); tmp = 0;
if (dword != header_chunk[0]) { show_message("Error at byte 0 : Unexcepted DWORD##Excepted : " + string(header_chunk[0]) + " (MThd)#Received : " + string(dword)); return false; }
dword = file_read_dword(file, 4); if (dword != header_chunk[1]) { show_message("Error at byte 3 : Unexcepted DWORD##Excepted : " + string(header_chunk[1]) + "#Received : " + string(dword)); return false; }
// Check for unfinished header chunk (MTrk before chunk header end) for(cur=8; cur<14; cur+=1) { dword = file_read_dword(file, cur); if(dword == track_chunk) { show_message("Error at byte " + string(cur) + " : Unexcepted DWORD - Early track chunk##Excepted : " + string(track_chunk) + "#Received : " + string(dword)); return false; } }
// Check for early track chunk (No MTrk after 14 bytes) dword = file_read_dword(file, 14); if (dword != track_chunk) { show_message("Error at byte 14 : Unexcepted DWORD##Excepted : " + string(track_chunk) + "#Received : " + string(dword)); return false; }
// Check for invalid midi format type word = file_read_word(file, 8); if (word > 2) { show_message("Error at byte 8 : Invalid MIDI format type.##Excepted : <= 2#Received : " + string(word)); return false; } midtype = word;
// Check for invalid tracks word = file_read_word(file, 10); if (word == 0) { show_message("Error at byte 10 : Invalid MIDI tracks amount.##Excepted : >0#Received : " + string(word)); return false; } midtracks = word;
// Check for overmuch tracks if (midtype == 0) && (midtracks > 1) { show_message("Error : Too much tracks for the current format type.##Excepted : <1#Received : " + string(midtracks)); return false; }
show_message("File not corrupted"); file_read_dword - Code:
-
// file_read_dword(file, pos)
// Reads a DWORD in Big Endian
var ret, val, file, pos, cur; ret = 0; val[3] = 0; file = argument0; pos = argument1;
for(cur = 0; cur < 4; cur += 1) { file_bin_seek(file, cur+pos); val[cur] = file_bin_read_byte(file); }
return ((val[0] << 24) | (val[1] << 16) | (val[2] << | val[3]); file_read_word - Code:
-
// file_read_dword(file, pos)
// Reads a WORD in Big Endian
var ret, val, file, pos, cur; ret = 0; val[3] = 0; file = argument0; pos = argument1;
for(cur = pos; cur < pos+2; cur += 1) { file_bin_seek(file, cur); val[cur-pos] = file_bin_read_byte(file); }
return ((val[0] << | val[1]); Je vais arrêter de poster les nouvelles de ma lib chaque jour sinon ça va un peu spammer le rebirth Je ferais un topic à l'occas, une question à oni : Un gros paquet de scripts pour faire un tas de choses avec les fichiers .mid, ça devrait être poster dans "Projets" ou dans "Scripts GML"? _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: CBNA Rebirth Days Mar 28 Oct 2014 - 17:29 | |
| Pour la lecture de word et dword sinon tu peux faire bien plus simple:
return file_bin_read_byte(argument0) | (file_bin_read_byte(argument0)<<8)
et de même pour dword.
Quand on lis un fichier on a pas a bouger le curseur manuellement, ça se fait au fil de la lecture. Et généralement un fichier on le lis linéairement sinon on fait juste un seek avant l’opération de lecture/écriture... |
|
| |
DeinDall Utilisateur confirmé: Rang ****
Messages : 858 Localisation : Quimper
| Sujet: Re: CBNA Rebirth Days Sam 1 Nov 2014 - 12:40 | |
| J'ai fait ça: Je suis une quiche pour faire les ombres donc il y a surement des améliorations à faire sur ce plan, et les couleurs sont peut-être pas les meilleures non plus. Mais je suis content du résultat :D Sinon j'ai ça aussi, dans le même style: |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: CBNA Rebirth Days Sam 1 Nov 2014 - 12:58 | |
| Pas mal du tout! L'anim de course est vraiment bien, beau boulot |
|
| |
Craki Utilisateur confirmé: Rang ****
Messages : 1496 Localisation : Dans l’univers de métamatière
| Sujet: Re: CBNA Rebirth Days Sam 1 Nov 2014 - 21:23 | |
| Un humanoïde réalisé à l’aide de la DB32 et du nombre d’or : - Vieille version (avec une échelle incorrecte ):
Un deuxième ; même base, même palette. _________________ |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: CBNA Rebirth Days Dim 2 Nov 2014 - 13:04 | |
| Bonjour tout le monde ! ------- Craki : Ils sont bien faits. Je serais bien incapable d'en faire autant. La vieille version avec l'échelle incorrect ne me choc pas plus que cela, il a l'air un peu plus grand. ------- Je vous présente un petit projet sur lequel je bosse. J'ai pensé que cela pourrais vous plaire: C'est un éditeur 3D, on dépose une sorte de glue coloré dans l'espace. Pour l'instant avec ma souris 2D, je ne peut que dessiner que dans un plan. Dans un futur proche, avec des amis, on va fabriquer des souris 3D pour pouvoir construire des objets de manière naturel. On pourrais avoir de manière précise la position et l'orientation de ses 2 mains. La main gauche pour déplacer et orienter le monde et la main droite pour déposer la glue. Cette interface homme machine mimerais ainsi la façon qu'on manipule des outils. On tient et oriente l'objet d'une main et sculptons avec l'autre. On espère que ce sera très naturel à utiliser. Techniquement, voici comment j'ai fait. J'ai une map 3D de densité et de couleur. Je génère la surface en utilisant un marching cube. La marching cube va essayer de générer un maillage là où ma densité s'annule (positif = matière, négatif = pas de matière). Puis un Shader pour donner cette effet brillant. Cela me fait penser aux liquides qu'on retrouve dans Portal II, non?
Dernière édition par arthuro le Sam 29 Nov 2014 - 23:25, édité 2 fois |
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: CBNA Rebirth Days Dim 2 Nov 2014 - 13:27 | |
| Ta souris 3d ça me fait penser au bras haptique _________________ |
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: CBNA Rebirth Days Dim 2 Nov 2014 - 14:03 | |
| dans un de mes projet, j'ai pareil mais c'est entre 1 et 0, comme ca les limites de densité sont bornés (ce qui est pratique pour creer des formes en 3D) |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: CBNA Rebirth Days Dim 2 Nov 2014 - 16:54 | |
| Héhé classe, j'ai de suite pensé aux marchings cube en voyant l'image |
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: CBNA Rebirth Days Dim 2 Nov 2014 - 19:51 | |
| tiens dis moi arthuro, comment as-tu fait pour linéariser les normal par point au lieu de par face ? j'ai deja essayer quelque chose mais c'est assez pompeux comme méthode :/ |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: CBNA Rebirth Days Dim 2 Nov 2014 - 22:06 | |
| J'ai aucune gloire, j'utilise PolyVox (branch origin/develop) En interne, la lib estime la normale par le gradient de ta densité. (Avec des différences finies) Le code ressemble à ceci - Spoiler:
- Code:
-
Vector3DFloat computeCentralDifferenceGradient(const typename VolumeType::Sampler& volIter) { //FIXME - Should actually use DensityType here, both in principle and because the maths may be //faster (and to reduce casts). So it would be good to add a way to get DensityType from a voxel. //But watch out for when the DensityType is unsigned and the difference could be negative. float voxel1nx = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx0py0pz())); float voxel1px = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px0py0pz()));
float voxel1ny = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px1ny0pz())); float voxel1py = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px1py0pz()));
float voxel1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px0py1nz())); float voxel1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px0py1pz()));
return Vector3DFloat ( voxel1nx - voxel1px, voxel1ny - voxel1py, voxel1nz - voxel1pz ); }
Vector3DFloat computeSobelGradient(const typename VolumeType::Sampler& volIter) { static const int weights[3][3][3] = { { {2,3,2}, {3,6,3}, {2,3,2} }, { {3,6,3}, {6,0,6}, {3,6,3} }, { {2,3,2}, {3,6,3}, {2,3,2} } };
//FIXME - Should actually use DensityType here, both in principle and because the maths may be //faster (and to reduce casts). So it would be good to add a way to get DensityType from a voxel. //But watch out for when the DensityType is unsigned and the difference could be negative. const float pVoxel1nx1ny1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx1ny1nz())); const float pVoxel1nx1ny0pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx1ny0pz())); const float pVoxel1nx1ny1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx1ny1pz())); const float pVoxel1nx0py1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx0py1nz())); const float pVoxel1nx0py0pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx0py0pz())); const float pVoxel1nx0py1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx0py1pz())); const float pVoxel1nx1py1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx1py1nz())); const float pVoxel1nx1py0pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx1py0pz())); const float pVoxel1nx1py1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1nx1py1pz()));
const float pVoxel0px1ny1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px1ny1nz())); const float pVoxel0px1ny0pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px1ny0pz())); const float pVoxel0px1ny1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px1ny1pz())); const float pVoxel0px0py1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px0py1nz())); //const float pVoxel0px0py0pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px0py0pz())); const float pVoxel0px0py1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px0py1pz())); const float pVoxel0px1py1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px1py1nz())); const float pVoxel0px1py0pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px1py0pz())); const float pVoxel0px1py1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel0px1py1pz()));
const float pVoxel1px1ny1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px1ny1nz())); const float pVoxel1px1ny0pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px1ny0pz())); const float pVoxel1px1ny1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px1ny1pz())); const float pVoxel1px0py1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px0py1nz())); const float pVoxel1px0py0pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px0py0pz())); const float pVoxel1px0py1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px0py1pz())); const float pVoxel1px1py1nz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px1py1nz())); const float pVoxel1px1py0pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px1py0pz())); const float pVoxel1px1py1pz = static_cast<float>(m_controller.convertToDensity(volIter.peekVoxel1px1py1pz()));
const float xGrad(- weights[0][0][0] * pVoxel1nx1ny1nz - weights[1][0][0] * pVoxel1nx1ny0pz - weights[2][0][0] * pVoxel1nx1ny1pz - weights[0][1][0] * pVoxel1nx0py1nz - weights[1][1][0] * pVoxel1nx0py0pz - weights[2][1][0] * pVoxel1nx0py1pz - weights[0][2][0] * pVoxel1nx1py1nz - weights[1][2][0] * pVoxel1nx1py0pz - weights[2][2][0] * pVoxel1nx1py1pz + weights[0][0][2] * pVoxel1px1ny1nz + weights[1][0][2] * pVoxel1px1ny0pz + weights[2][0][2] * pVoxel1px1ny1pz + weights[0][1][2] * pVoxel1px0py1nz + weights[1][1][2] * pVoxel1px0py0pz + weights[2][1][2] * pVoxel1px0py1pz + weights[0][2][2] * pVoxel1px1py1nz + weights[1][2][2] * pVoxel1px1py0pz + weights[2][2][2] * pVoxel1px1py1pz);
const float yGrad(- weights[0][0][0] * pVoxel1nx1ny1nz - weights[1][0][0] * pVoxel1nx1ny0pz - weights[2][0][0] * pVoxel1nx1ny1pz + weights[0][2][0] * pVoxel1nx1py1nz + weights[1][2][0] * pVoxel1nx1py0pz + weights[2][2][0] * pVoxel1nx1py1pz - weights[0][0][1] * pVoxel0px1ny1nz - weights[1][0][1] * pVoxel0px1ny0pz - weights[2][0][1] * pVoxel0px1ny1pz + weights[0][2][1] * pVoxel0px1py1nz + weights[1][2][1] * pVoxel0px1py0pz + weights[2][2][1] * pVoxel0px1py1pz - weights[0][0][2] * pVoxel1px1ny1nz - weights[1][0][2] * pVoxel1px1ny0pz - weights[2][0][2] * pVoxel1px1ny1pz + weights[0][2][2] * pVoxel1px1py1nz + weights[1][2][2] * pVoxel1px1py0pz + weights[2][2][2] * pVoxel1px1py1pz);
const float zGrad(- weights[0][0][0] * pVoxel1nx1ny1nz + weights[2][0][0] * pVoxel1nx1ny1pz - weights[0][1][0] * pVoxel1nx0py1nz + weights[2][1][0] * pVoxel1nx0py1pz - weights[0][2][0] * pVoxel1nx1py1nz + weights[2][2][0] * pVoxel1nx1py1pz - weights[0][0][1] * pVoxel0px1ny1nz + weights[2][0][1] * pVoxel0px1ny1pz - weights[0][1][1] * pVoxel0px0py1nz + weights[2][1][1] * pVoxel0px0py1pz - weights[0][2][1] * pVoxel0px1py1nz + weights[2][2][1] * pVoxel0px1py1pz - weights[0][0][2] * pVoxel1px1ny1nz + weights[2][0][2] * pVoxel1px1ny1pz - weights[0][1][2] * pVoxel1px0py1nz + weights[2][1][2] * pVoxel1px0py1pz - weights[0][2][2] * pVoxel1px1py1nz + weights[2][2][2] * pVoxel1px1py1pz);
//Note: The above actually give gradients going from low density to high density. //For our normals we want the the other way around, so we switch the components as we return them. return Vector3DFloat(-xGrad,-yGrad,-zGrad); }
|
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: CBNA Rebirth Days Dim 2 Nov 2014 - 22:40 | |
| |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: CBNA Rebirth Days Lun 3 Nov 2014 - 1:20 | |
| Dafuq. _________________ Home is not a place, it's a feeling.
|
|
| |
hyper Utilisateur confirmé: Rang ****
Messages : 1458 Localisation : près de Nantes Projet Actuel : Super Note Aventure
| Sujet: Re: CBNA Rebirth Days Lun 3 Nov 2014 - 19:19 | |
| Un ennemi un peu plus intelligent et fort que la moyenne : _________________ côt.
|
|
| |
hyper Utilisateur confirmé: Rang ****
Messages : 1458 Localisation : près de Nantes Projet Actuel : Super Note Aventure
| Sujet: Re: CBNA Rebirth Days Jeu 13 Nov 2014 - 20:18 | |
| Le chef de ce type d'ennemi : _________________ côt.
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: CBNA Rebirth Days Jeu 13 Nov 2014 - 21:32 | |
| |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: CBNA Rebirth Days Jeu 20 Nov 2014 - 22:55 | |
|
Dernière édition par onilink_ le Ven 21 Nov 2014 - 9:51, édité 1 fois |
|
| |
Invité Invité
| Sujet: Re: CBNA Rebirth Days Ven 21 Nov 2014 - 2:46 | |
| |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: CBNA Rebirth Days Dim 23 Nov 2014 - 23:39 | |
| Quelque shaders pour des effets secondaires: Normal, pétrifié, gelé, gold, ghost, berserk. |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: CBNA Rebirth Days Lun 24 Nov 2014 - 1:14 | |
| _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: CBNA Rebirth Days Lun 24 Nov 2014 - 12:54 | |
| - onilink_ a écrit:
- Quelque shaders pour des effets secondaires:
Normal, pétrifié, gelé, gold, ghost, berserk. J'adore celui de glace, beau boulot :p ça sera implanté dans le jeu? _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: CBNA Rebirth Days Lun 24 Nov 2014 - 13:01 | |
| Merci, yep ce sera pour visualiser les suffixes (états spéciaux) des monstres. Manque encore quelques états plus simples a faire, genre empoisonné, ralentissement, rapidité. Par contre y en a je sais pas encore comment les gérer facilement et efficacement (comme paralysie, cécité, ...). |
|
| |
Contenu sponsorisé
| Sujet: Re: CBNA Rebirth Days | |
| |
|
| |
| CBNA Rebirth Days | |
|