commit 471ccdb30fde38a65518505ca4542c25e85ab134
parent bc57c974f73661dc2d8c24bf67f809afc6e3627b
Author: Yoann <yoann.b87@voila.fr>
Date: Thu, 29 Sep 2011 22:48:03 +0200
Début due code de génération d'un "bruit de Perlin".
Diffstat:
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/roam.c b/roam.c
@@ -1,6 +1,5 @@
#include "roam.h"
-#include <stdio.h>
-#include <stdlib.h>
+
/* Implémentation de ROAM
* http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.1811&rep=rep1&type=pdf
*
@@ -35,6 +34,25 @@
*
*/
+/* Permet de récupérer la taille de la base du triangle (hypoténuse).*/
+// TODO Optimisze la fonction pour éviter la racine carée.
+int getFirstTriangleSize(Triangle* t) {
+ return sqrt(((t->vRight->x - t->vLeft->x)^2) + ((t->vRight->y - t->vLeft->y)^2));
+}
+
+short** PerlinNoise(Triangle* t) {
+ short **values;
+ int triangleSize = getFirstTriangleSize(t);
+ int i;
+
+ values = (short**) malloc(sizeof(short*)*triangleSize);
+ for(i=0; i<triangleSize;i++)
+ values[i] = (short*) malloc(sizeof(short)*triangleSize);
+
+ // TODO Yoann : tout le reste.
+ return values;
+}
+
int get_z(int x, int y) {
x = x; /* Unused */
y = y; /* Unused */
diff --git a/roam.h b/roam.h
@@ -1,3 +1,7 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
typedef struct Vertex {
int x;
int y;