Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - flure

Pages: [1] 2
1
Blabla de sceners / Apéro demoscene vendredi 21/11/2014
« on: 18 November 2014 à 10:18:14  »

2
Blabla de sceners / Apéro demoscene vendredi 7/11/2014
« on: 06 November 2014 à 09:32:23  »
Tout (ou presque) est dans le titre !

Donc voilà, on se fait un petit apéro demoscene demain soir, à L'escalier, 105 rue du Faubourg Saint-Denis (c'est pas moi qui ai choisi je ne connais pas).

Donc d'après l'event facebook ça commence à 18h30.

À demain, j'ai bien envie de voir vos tronches ! :)

L'event facebook : https://www.facebook.com/events/329068597277063/?sid_reminder=3931968131999727616
Si vous ne pouvez pas accéder à l'event facebook, donnez moi le lien vers votre profil, et je vous y ajoute.

3
Parties / Revision 5K run
« on: 08 April 2014 à 10:14:09  »
Je viens de voir qu'il y a une course sur 5km (4096m en vrai) à la Revision. Je compte bien y participer ! Qui d'autre en est ? Latortue ? Skypers ?

4
Blabla de sceners / Soirée sur Paris le 8 mars
« on: 22 February 2014 à 16:51:21  »
Ceci est un post pour les Parisiens de la scene !

Donc, le weekend du 8-9 mars à Paris il y a le mondial du tatouage, à la Grande Halle de la Villette (http://www.mondialdutatouage.com/) et avec Noëlie (ma copine) on y va (et je me fais même tatouer là-bas). On voudrait profiter de l'occasion pour faire une bonne soirée le samedi soir.

Donc ce sera vraisemblablement au Café Rouge, puisqu'apparemment vous avez l'habitude d'y aller, et ce sera donc le samedi soir (8 mars).

J'espère bien vous y voir, qu'on descende quelques pintes !

5
Code / Volumetric light ?
« on: 04 November 2013 à 11:36:35  »
Comment on fait ça ?

Je pense à afficher un gros blob blanc dans une rendertarget et à faire une sorte de radial blur avec, puis composer ça avec l'image final, mais aucune idée en fait...


6
Code / Recalcul de normales dans le vertex shader
« on: 16 June 2013 à 19:00:21  »
Salut,

Je bloque sur un point un peu chiant, et mes mathématiques sont un peu rouillées.
Je déforme un mesh dans le vertex shader, mais du coup il faut que je recalcule les normales aux vertex pour que l'éclairage soit bon. Je précise que je fais cette déformation à base de sinus et autres fonctions trigo.

En farfouillant, je suis tombé sur deux solutions éventuelles :
1) passer les vecteurs tangente et bitangente au vertex shader. Appliquer la déformation sur deux autres points de la surface en utilisant ces vecteurs, et recalculer la normale ainsi.
Le hic c'est que du coup ça fait beaucoup de données à passer en plus, sachant que j'ai vraiment beaucoup de vertices sur ce mesh, environ 20000 (enfin je pense que ça fait beaucoup...)

2) calculer la normale en utilisant une matrice jacobienne... Mais alors là par contre je ne capte rien à ce que j'ai pu trouver. Si j'ai bien compris, il faut que je crée une matrice 3x3 en utilisant les dérivées partielles des fonctions utilisées pour ma déformation. C'est là que je coince. C'est quoi une dérivée partielle ? Je la remplis comment cette matrice ? Bref je suis largué pour un problème de maths.

Autre solution : faire le calcul sur le CPU. C'est ce que je faisais avant de mettre la déformation dans le vertex shader, et la performance s'en ressent énormément donc c'est hors de question. Je suis passé de 15fps avec le calcul sur le CPU, à 1600fps avec le calcul dans le vertex shader..

Bref si quelqu'un peut m'aiguiller, je lui payerai volontiers une bière la prochaine fois qu'on se croise ! :)

7
Code / Orienter un quad selon un vecteur
« on: 05 June 2013 à 10:38:48  »
Salut,

J'ai conscience que c'est une question très basique mais je n'ai pas envie de chercher plus longtemps. Marre de faire de la mécanique, je veux faire des effets ;)

Donc mon problème est le suivant : je veux pouvoir créer un quad selon n'importe quelle orientation, en me basant sur sa normale.

Je pense qu'il faut que je construise un repère à partir de cette normale pour pouvoir ensuite placer mes vertices correctement, mais toutes les solutions que j'imagine me semblent bien compliquées, voilà pourquoi je m'adresse à vous.

Pour l'instant, ce que j'imagine :

Mon quad est défini par sa taille selon les trois axes dans un vec3 (size) et sa normale (N).
1) construire le repère relatif au quad en partant de N : quadX, quadY, quadZ
2) créer les vertices en fonction de ce repère et de sa taille (size.x * quadX, size.y * quadY, size.z *quadY)

Je pense que mon raisonnement est bon, c'est pour le point 1 que je n'arrive pas à mettre mes idées en ordre.

Ou alors j'ai toujours l'option de le créer dans le plan XY et ensuit de multiplier les vertices par une matrice de rotation qui le remettra dans l'orientation voulue, mais là pareil il faudrait que je crée cette matrice en fonction de N, ce qui revient à peu près à faire le point 1, non ?

Merci d'avance ! :)

8
Code / Intro 64k : V2 vs 4klang vs autre ??
« on: 29 May 2013 à 21:48:29  »
Salut à tous,

Je suis en train (entre mes longues phases de procrastination) de bosser une intro 64k.
Du coup vient le problème de la musique. Pour cela j'ai essentiellement deux choix : V2 et 4klang. Je pensais que V2 était plus adapté pour les 64ko, mais apparemment il ne dispose pas d'une fonctionnalité bien pratique qui elles sont disponible dans 4klang : le fait de pouvoir récupérer le volume d'un instrument à un instant t. Or, avouez que cette fonctionnalité est top pour faire de jolies synchros !

Bref, aurais-je loupé quelque chose dans V2 ? Et sinon, auriez-vous d'autres softsynth adaptés aux 64k à me conseiller ?

Merci merci ! :)

9
Actualités / Conférence sur la demoscene à Lyon
« on: 24 April 2013 à 19:52:33  »
Salut,

Je sais que je préviens un peu tardivement, mais il y a eu des imprévus sur l'organisation.
Bref, dans le cadre de la Geek Week, organisée par AoA Prod à Lyon, je vais faire une présentation sur la demoscene, orientée pour les néophytes.
Je penses faire un petit historique, présentant les origines, les évolutions, et entrecoupé de quelques démos pour illustrer les points clés de la présentation.

Bref, ce post est là pour plusieurs choses :

1 - Rameuter du monde :
si vous êtes sur Lyon, n'hésitez pas à venir ! Dimanche 28 avril à la Maison Ravier, dans le 7e arrondissement (rue Ravier), horaire encore à définir, mais ce sera l'après-midi.

2 - Besoin d'aide évidemment :
si vous avez des idées de choses à mentionner, de démos importantes à montrer, je suis preneur ! Si vous voulez participer, vous êtes bienvenus aussi ! Ce sera la première fois que je me livre à ce genre d'exercice, alors un petit peu d'aide ne sera pas de refus !

Plus d'infos sur le site de la Geek Week (oui, ça va se dérouler au vide-grenier du geek, et non, ma participation n'est pas encore mentionnée sur le site) : http://www.aoa-prod.com/geekweek-2013/

10
Actualités / Bonne année !!
« on: 02 January 2013 à 15:25:57  »
Bonne année à tous !

Que 2013 soit riche en amour, gloire, argent et tout ce que vous voulez.

Mais surtout, PLEIN DE DEMOS !!! :D

11
Code / Analyse statique
« on: 18 November 2012 à 01:30:14  »
(Modération : cette discussion provient du fil Atelier Code)


Au fait j'y pense, Pata tu utilises quoi comme plugins ou autres pour visual studio ?
Parce que hier je t'ai bien vu faire des tas de trucs sans utiliser la souris, comme du refactoring ou ne serait-ce que de passer d'un fichier à l'autre. Bref ça m'intéresse tout ça... :)

12
Blabla de sceners / Démos en réalité augmentée ?
« on: 19 June 2012 à 11:17:44  »
Voilà, je suis tombé là dessus : http://www.20minutes.fr/high-tech/955795-video-realite-augmentee-poche

Et du coup je me suis dit, avec un système comme ça, on devrait être capable de faire de la démo en réalité augmentée ? Est-ce que je suis le seul à penser à ça ? Ou bien est-ce que quelqu'un s'est déjà lancé dans ce genre d'aventure ?

13
Blabla de sceners / Demoparties françaises
« on: 07 March 2012 à 12:44:03  »
[Edit LLB : ce message était en réponse à celui-ci : http://bbs.demoscene.fr/actu/revision-2012/msg10097/#msg10097]

Bon allez je vais faire mon chieur, mais ça sera rapide.

Il y a des demoparties en France, où on peine à rassembler plus de 60 personnes, et j'en vois qui râlent parce qu'on n'est pas assez nombreux à l'étranger. Cherchez l'erreur. Si déjà on arrivait à avoir plusieurs grosses demoparties en France ce serait pas mal, hein.

Je prêche pour ma paroisse évidemment, mais pour rappel les premières éditions de la VIP rassemblaient plus de 150 voire 200 personnes, et aujourd'hui on considère qu'on est nombreux à partir de 60 personnes. Ouais je vais vous arracher la larme à l'oeil, mais franchement quand je vois qu'on se casse le cul à organiser une CP en France depuis plus de 10 ans et que seules celles à l'étranger vous motivent, ben je me souviens de "l'ancien temps" et ça me fend le coeur.

Un autre exemple, la DKS, une demoparty qui n'a eu lieu qu'une seule fois il y a plus de 10 ans, par un groupe inconnu, dans la campagne lyonnaise. Eh bien il y avait 150 personnes venues de toute la France, il n'y a pas eu d'électricité du tout le premier jour, et Condense, avec Syndrome, se sont permis de releaser une demo "pas finie" en hors compète. Pour infos il s'agit de celle-ci : http://pouet.net/prod.php?which=8

Le paragraphe ci-dessus est là principalement pour désamorcer l'argument que je vois poindre, selon quoi "oui mais les demoparties française sont trop petites donc y'a pas de bonne prods". Et je répondrai : "si les gens venaient et faisaient de bonnes prods, ben les demoparties françaises grossiraient".

Voilà, ça devait être rapide et j'ai finalement écrit un pavé, mais ça commençait à me peser. Vous pouvez désormais reprendre une activité normale.

14
Code / 4ko sous Linux
« on: 18 May 2011 à 22:53:04  »
Salut,

Est-ce que quelqu'un a déjà essayé de faire des 4k sous Linux ?
Je suis en train de bosser là dessus, et je cherche à diminuer la taille de l'exécutable de base, j'aimerais savoir si vous avez quelques trucs et astuces.

  • J'utilise bien sûr la technique du dropper avec lzma (mais lzma me fait souvent des read error à la décompression, c'est complètement aléatoire et parfois ça marche).
  • Je linke avec -nostdlib, et je remplace la fonction main par _start, en finissant par un exit(0)
  • J'utilise strip --strip-all --remove-section=.comment --remove-section=.note (je voulais utiliser sstrip des Elfkickers, mais il est introuvable depuis quelques temps apparemment)
  • J'utilise -Os à la compilation
  • J'utilise  -Wl,--gc-sections à l'édition des liens (je ne sais pas ce que ça fait mais j'ai lu quelque part que ça à un effet sur la taille... et en effet oui)
  • Je compile en 32 bits, mais cela implique que l'utilisateur doit avoir la version 32 bits de SDL sur sa machine...
  • J'ai essayé le linker Bold de Alrj, il fait vraiment de tout petits exécutables, mais (sur ma machine en tout cas) ils font un segfault ;(

Et actuellement je teste le chargement dynamique des fonctions de bibliothèques avec dlopen/dlsym, on verra ce que ça va donner...

J'ai essayé d'écrire le code en asm, mais mes premiers essais n'ont pas été très concluants : rien que pour ouvrir une fenêtre SDL et quitter tout de suite, on dépasse les 2ko (avant compression), du coup je ne sais pas si ça vaut le coup de faire un tel investissement...

Donc voilà si vous avez d'autres astuces, je suis preneur !

15
Code / Bruit de Perlin-pinpin
« on: 26 March 2011 à 15:16:21  »
Salut à tous,

Je viens de me mettre à la génération de textures, et évidemment je me casse les dents sur le bruit de Perlin.
Bon pour gagner du temps, je vais détailler un peu ce que je fais. Si certains bouts de code ont l'air d'être pompés directement de ce qu'on trouve sur le net, c'est normal, c'est le cas :D

Donc premièrement j'ai une petite procédure qui initialise une table de valeurs aléatoires comprises dans [0, 1] et faisant les dimensions de la map que je veux générer :
Code: [Select]
static float *g_perlinRand = NULL;
static unsigned g_width;
static unsigned g_height;
void perlin_rand_init(unsigned w, unsigned h, unsigned seed)
{
    g_width = w;
    g_height = h;

    g_perlinRand = malloc(w * h * sizeof(float));

    srand(seed);
    for(unsigned i = 0; i < w * h; i++)
        g_perlinRand[i] = (float)(rand() / (float)RAND_MAX);
}

Oui je sais les globales c'est cracra, mais j'arrangerai ça plus tard.

Pour éviter les débordements, j'accède à cette table à l'aide d'une macro :
Code: [Select]
#define GETRAND(x, y) g_perlinRand[ ((x) % g_width) + ((y) % g_height) * (g_width) ]

Ensuite, pour obtenir la valeur aléatoire à une certaine coordonnée, j'utilise cette fonction qui fait l'interpolation bilinéaire toute seule :
Code: [Select]
float perlin_get_noise(float x, float y, float step)
{
int ix = (int) (x / step);
int iy = (int) (y / step);
float tx = (x / step) - ix;
float ty = (y / step) - iy;

float a = GETRAND(ix,     iy);
float b = GETRAND(ix + 1, iy);
float c = GETRAND(ix,   iy + 1);
float d = GETRAND(ix + 1, iy + 1);

return perlin_bilerp(tx, ty, a, b, c, d);
}

Je vous épargne le code de l'interpolation bilinéaire parce que 1) c'est pas le sujet et 2)  je suis sûr que vous connaissez.
Notez quand même l'utilisation d'un paramètre step, que je pense n'avoir pas compris complètement, c'est sans doute lié à mon problème dont je parlerai dans la suite.

Enfin, pour chaque pixel, je calcule sa valeur à l'aide de cette fonction :
Code: [Select]
float perlin_perlin_noise(float x, float y, float persistence, int nb_octaves, float step)
{
float perlin = 0.0f;
float p = 1.0f;
int f = 1;
int i;

for(i = 0 ; i < nb_octaves ; i++) {
perlin += p * perlin_get_noise(x * f, y * f, step);
p *= persistence;
f *= 2;
}

return perlin * (1 - persistence) / (1 - p);
}
f est la fréquence en fonction de l'octave, et p l'amplitude, en fonction de l'octave et de la persistance.

Après ça, pour générer mon image, c'est une vulgaire boucle sur x et y qui remplit un tableau avec les valeurs renvoyées par cette fonction.
Je dois dire que j'ai trouvé plein de tutos sur le net, y compris l'excellent article de Hugo Elias (http://freespace.virgin.net/hugo.elias/models/m_perlin.htm).

Mais bon, voilà, quand utilise un bruit de perlin dans un générateur de textures, l'intérêt c'est quand même qu'il soit tileable. Et là c'est pas le cas, comme en atteste la capture d'écran jointe. Peut-être l'histoire du step que je n'ai pas compris ?

Donc voilà, j'en appelle à vous pour pointer du doigt ce que je fais mal ou ce qui manque ;)

Pages: [1] 2