[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gfx demo/texlab.py libpaper/colors.py libpa...
From: |
Janne V. Kujala |
Subject: |
[Gzz-commits] gzz/gfx demo/texlab.py libpaper/colors.py libpa... |
Date: |
Mon, 30 Sep 2002 12:23:22 -0400 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Janne V. Kujala <address@hidden> 02/09/30 12:23:21
Modified files:
gfx/demo : texlab.py
gfx/libpaper : colors.py papermill.py texcoords.py textures.py
gfx/libtexture : fnoise.texture
Added files:
gfx/libtexture : geometric.texture
Log message:
New textures and better libpaper parameters
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/texlab.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libpaper/colors.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libpaper/papermill.py.diff?tr1=1.32&tr2=1.33&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libpaper/texcoords.py.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libpaper/textures.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libtexture/geometric.texture?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libtexture/fnoise.texture.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
Patches:
Index: gzz/gfx/demo/texlab.py
diff -c gzz/gfx/demo/texlab.py:1.1 gzz/gfx/demo/texlab.py:1.2
*** gzz/gfx/demo/texlab.py:1.1 Mon Sep 30 10:04:25 2002
--- gzz/gfx/demo/texlab.py Mon Sep 30 12:23:21 2002
***************
*** 7,18 ****
#tex.shade(256, 256, 0, 3, "RGB", "RGB", "fnoise",
! # ["scale", ".5", "freq", "1", "df", "2", "bias", "0.5"])
! tex.shade(256, 256, 0, 4, "RGBA", "RGBA", "geometric", ["type", "3"])
class TexLabScene:
def __init__(self):
pass
--- 7,24 ----
#tex.shade(256, 256, 0, 3, "RGB", "RGB", "fnoise",
! # ["scale", ".43", "freq", "1", "df", "2", "bias", "0.5"])
! #tex.shade(256, 256, 0, 3, "RGB", "RGB", "fnoise",
! # ["scale", "2.5", "freq", "1", "df", "2", "bias", "0.5"])
! #tex.shade(256, 256, 0, 4, "RGBA", "RGBA", "geometric", ["type", "3"])
+ #tex.shade(256, 256, 0, 3, "RGB", "RGB", "fnoise",
+ # ["turb", "1", "scale", ".3", "freq", "1", "freq2", "100", "df",
"2", "bias", "0"])
+
+
class TexLabScene:
def __init__(self):
pass
***************
*** 23,29 ****
putnoc(vs, background((0.5,0.5,0.5)))
! cs = vs.coords.affineCoordsys(0, 1, 100, 100, 200, 0, 0, 200)
vs.matcher.add(cs, "foo")
vs.map.put(getDList("""
--- 29,35 ----
putnoc(vs, background((0.5,0.5,0.5)))
! cs = vs.coords.affineCoordsys(0, 1, 100, 100, 400, 0, 0, 400)
vs.matcher.add(cs, "foo")
vs.map.put(getDList("""
Index: gzz/gfx/libpaper/colors.py
diff -c gzz/gfx/libpaper/colors.py:1.12 gzz/gfx/libpaper/colors.py:1.13
*** gzz/gfx/libpaper/colors.py:1.12 Mon Sep 30 06:18:54 2002
--- gzz/gfx/libpaper/colors.py Mon Sep 30 12:23:21 2002
***************
*** 5,10 ****
--- 5,11 ----
from math import sin,cos,atan2,pi,log
from random import Random,shuffle
+ import java
dbg=0
***************
*** 13,26 ****
def _js(self, arg):
return " ".join([str(a) for a in arg])
def __init__(self, seed):
! rnd = self.rnd = Random(seed)
! rnd.nextDouble = rnd.random
colors = 8
minlum = 80
#huerange = (45 + rnd.nextGaussian() * 45)
#rnd.lognormvariate(log(0.001), .3)
! huerange = rnd.normalvariate(0,1) * 90
# gnuplot code for plotting huerange distribution:
# sigma=.4; mu=log(60); plot [0:360] 1 / (x * sqrt(2 * pi *
sigma**2)) * exp(-(log(x)-mu)**2 / (2 * sigma**2))
--- 14,27 ----
def _js(self, arg):
return " ".join([str(a) for a in arg])
def __init__(self, seed):
! rnd = self.rnd = java.util.Random(seed)
colors = 8
minlum = 80
#huerange = (45 + rnd.nextGaussian() * 45)
#rnd.lognormvariate(log(0.001), .3)
! huerange = rnd.nextGaussian() * 90
! #huerange = rnd.normalvariate(0,1) * 90
# gnuplot code for plotting huerange distribution:
# sigma=.4; mu=log(60); plot [0:360] 1 / (x * sqrt(2 * pi *
sigma**2)) * exp(-(log(x)-mu)**2 / (2 * sigma**2))
Index: gzz/gfx/libpaper/papermill.py
diff -c gzz/gfx/libpaper/papermill.py:1.32 gzz/gfx/libpaper/papermill.py:1.33
*** gzz/gfx/libpaper/papermill.py:1.32 Mon Sep 30 06:18:54 2002
--- gzz/gfx/libpaper/papermill.py Mon Sep 30 12:23:21 2002
***************
*** 127,132 ****
--- 127,134 ----
seeds = [rng.nextInt(2000000000) for foo in passes]
colors = Colors(rng.nextInt())
+ textures = Textures(rng.nextInt())
+ rootrep = TexGenXYRepeatUnit(rng)
pap.setNPasses(len(passes))
#setSolidPass(pap.getPass(0), (0.1,0.1,0.2))
***************
*** 136,142 ****
passreg = reg.sub("pass"+str(i))
passreg.get(regseed, "seed", seeds[i])
self.makePaperPass(passreg,
! pap.getPass(i), colors,
passes[i]["trans"],
emboss = passes[i]["emboss"])
else:
--- 138,144 ----
passreg = reg.sub("pass"+str(i))
passreg.get(regseed, "seed", seeds[i])
self.makePaperPass(passreg,
! pap.getPass(i), colors, textures, rootrep,
passes[i]["trans"],
emboss = passes[i]["emboss"])
else:
***************
*** 148,154 ****
if dbg: reg.dump()
return pap
! def makePaperPass(self, reg, ppass, colors, trans = 0, type = None,
emboss = 0):
seed = reg.get(regseed, "seed")
rnd = java.util.Random(seed)
#sh = ShaderPass(selectRandom(shaderTypes,rnd))
--- 150,156 ----
if dbg: reg.dump()
return pap
! def makePaperPass(self, reg, ppass, colors, textures, rootrep, trans = 0,
type = None, emboss = 0):
seed = reg.get(regseed, "seed")
rnd = java.util.Random(seed)
#sh = ShaderPass(selectRandom(shaderTypes,rnd))
***************
*** 160,166 ****
types = sh.getTextureTypes()
for i in range(0, len(types)):
if types[i] != None:
! t = getPaperTexture(types[i], rnd)
if emboss:
if (i%2) == 0:
--- 162,168 ----
types = sh.getTextureTypes()
for i in range(0, len(types)):
if types[i] != None:
! t = textures.getPaperTexture(types[i], rnd)
if emboss:
if (i%2) == 0:
***************
*** 216,223 ****
ttyp = sh.getTexgenTypes()
ppass.setNTexGens(len(ttyp))
-
- rootrep = TexGenXYRepeatUnit(rnd)
for i in range(0, len(ttyp)):
if ttyp[i] != None:
--- 218,223 ----
Index: gzz/gfx/libpaper/texcoords.py
diff -c gzz/gfx/libpaper/texcoords.py:1.11 gzz/gfx/libpaper/texcoords.py:1.12
*** gzz/gfx/libpaper/texcoords.py:1.11 Mon Sep 30 10:04:26 2002
--- gzz/gfx/libpaper/texcoords.py Mon Sep 30 12:23:21 2002
***************
*** 59,65 ****
"""
def __init__(self, rnd=None,
vecs = None,
! angle_stddev = .1,
avg_length_mean = .5,
avg_length_stddev = .10,
lendiff_mean = 0,
--- 59,65 ----
"""
def __init__(self, rnd=None,
vecs = None,
! angle_stddev = .065,
avg_length_mean = .5,
avg_length_stddev = .10,
lendiff_mean = 0,
Index: gzz/gfx/libpaper/textures.py
diff -c gzz/gfx/libpaper/textures.py:1.9 gzz/gfx/libpaper/textures.py:1.10
*** gzz/gfx/libpaper/textures.py:1.9 Mon Sep 30 10:04:26 2002
--- gzz/gfx/libpaper/textures.py Mon Sep 30 12:23:21 2002
***************
*** 9,14 ****
--- 9,17 ----
# OFFS2
# OFFS3
+ import java
+ from math import exp
+
isNV2X = 0
ptextures = {}
***************
*** 25,45 ****
def getName(self):
return self.name
- def mt(i):
- name, args = i
- return NamedTexture(name, args)
-
tres = 128
ptextures["RGB2"] = [
! mt(i) for i in [
! # ("rgbn", [512, 512, 0, 3, "RGB", "RGB",
! # "noise", ["type", "turbulence", "freq", "40", "scale", "-3", "bias",
"2"]]),
! # ("rgbw", [tres, tres, 0, 3, "RGB", "RGB",
! # "fnoise", ["scale", "2","bias",".5"]]),
!
("rgbw2", [tres, tres, 0, 3, "RGB", "RGB",
! "fnoise", ["scale", ".5", "freq", "1", "df", "2", "bias", "0.5"]]),
("pyramid", [64, 64, 0, 3, "RGB", "RGB", "geometric", ["type", "0"]]),
("checkerboard", [64, 64, 0, 3, "RGB", "RGB", "geometric", ["type",
"1"]]),
--- 28,44 ----
def getName(self):
return self.name
tres = 128
ptextures["RGB2"] = [
! apply(NamedTexture, i) for i in [
! ("rgbw1", [tres, tres, 0, 3, "RGB", "RGB",
! "fnoise", ["scale", "2.5", "freq", "1", "df", "2", "bias", "0.5"]]),
("rgbw2", [tres, tres, 0, 3, "RGB", "RGB",
! "fnoise", ["scale", ".43", "freq", "1", "df", "2", "bias", "0.5",
"seed", "1412"]]),
!
! ("turb", [tres, tres, 0, 3, "RGB", "RGB",
! "fnoise", ["turb", "1", "scale", ".3", "freq", "1", "freq2",
"100", "df", "2", "bias", "0"]]),
("pyramid", [64, 64, 0, 3, "RGB", "RGB", "geometric", ["type", "0"]]),
("checkerboard", [64, 64, 0, 3, "RGB", "RGB", "geometric", ["type",
"1"]]),
***************
*** 49,54 ****
--- 48,94 ----
def getPaperTexture(type, gen):
return selectRandom(ptextures[type], gen)
+
+
+ class Textures:
+ def __init__(self, seed):
+ rnd = self.rnd = java.util.Random(seed)
+
+ hyper = rnd.nextGaussian()*5
+
+ self.probs = {}
+
+ for type in ptextures.keys():
+ self.probs[type] = []
+ sum = 0
+
+ for tex in ptextures[type]:
+ prob = exp(rnd.nextGaussian() * hyper)
+
+ self.probs[type].append(prob)
+ sum += prob
+
+ self.probs[type] = [ prob / sum for prob in self.probs[type] ]
+
+ #print self.probs[type]
+
+
+ def getPaperTexture(self, type, gen):
+ index = 0
+
+ t = self.rnd.nextDouble()
+
+ for p in self.probs[type]:
+ t -= p
+ if t < 0:
+ #print ptextures[type][index].getName()
+ return ptextures[type][index]
+ index += 1
+
+ print "Warning: null probability event occured"
+ return ptextures[type][-1]
+
+
if 0:
rgbTextures = [
Index: gzz/gfx/libtexture/fnoise.texture
diff -c gzz/gfx/libtexture/fnoise.texture:1.4
gzz/gfx/libtexture/fnoise.texture:1.5
*** gzz/gfx/libtexture/fnoise.texture:1.4 Mon Sep 30 08:53:33 2002
--- gzz/gfx/libtexture/fnoise.texture Mon Sep 30 12:23:21 2002
***************
*** 56,61 ****
--- 56,65 ----
}
}
int ind = 0;
+
+ for(int co = 0; co < components; co++)
+ sumsq[co] = sqrt(sumsq[co]);
+
for (int j = 0; j < height; j++) {
for (int i = 0; i < width; i++) {
for(int co = 0; co < components; co++) {
***************
*** 76,92 ****
FPARAM(freq, 5);
FPARAM(df, 2);
FPARAM(seed, 0);
if (seed) srandom((long)seed);
int d = (depth==0 ? 1 : depth);
- for(int i = 0; i<width*height*d*components; i++)
- data[i] = 0;
! fourier_noise(width,height,d,components,data, freq, df);
! for(int i = 0; i<width*height*d*components; i++) {
! data[i] *= scale;
! data[i] += bias;
}
}
--- 80,122 ----
FPARAM(freq, 5);
FPARAM(df, 2);
FPARAM(seed, 0);
+ FPARAM(turb, 0);
+ FPARAM(freq2, 20);
+
if (seed) srandom((long)seed);
int d = (depth==0 ? 1 : depth);
+ int n = width*height*d*components;
+
+ for(int i = 0; i<n; i++)
+ data[i] = 0;
! if (turb) {
! float *tmp = new float[n];
!
! for (float f = freq; f <= freq2; f += f) {
! for(int i = 0; i<n; i++)
! tmp[i] = 0;
! fourier_noise(width,height,d,components,tmp, f, df);
!
! float m = 1.0 / (log(f)/log(2) + 1);
!
! for(int i = 0; i<n; i++)
! data[i] += m * fabs(tmp[i]);
! }
!
! for(int i = 0; i<n; i++)
! tmp[i] = 0;
!
! } else {
!
! fourier_noise(width,height,d,components,data, freq, df);
! }
!
! for(int i = 0; i<n; i++) {
! data[i] *= scale;
! data[i] += bias;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz/gfx demo/texlab.py libpaper/colors.py libpa...,
Janne V. Kujala <=