Mercurial > projects > ldc
comparison demos/ray.d @ 166:a2c4dc388d5e trunk
[svn r182] Oups, the PGM output for the raytracer demo was borked.
author | lindquist |
---|---|
date | Tue, 06 May 2008 00:03:55 +0200 |
parents | 9922b9982552 |
children | 718ddecc053c |
comparison
equal
deleted
inserted
replaced
165:9922b9982552 | 166:a2c4dc388d5e |
---|---|
111 void main(string[] args) { | 111 void main(string[] args) { |
112 int level = (args.length==3 ? args[1].atoi() : 9), | 112 int level = (args.length==3 ? args[1].atoi() : 9), |
113 n = (args.length==3 ? args[2].atoi() : 512), ss = 4; | 113 n = (args.length==3 ? args[2].atoi() : 512), ss = 4; |
114 auto light = Vec(-1, -3, 2).unitise(); | 114 auto light = Vec(-1, -3, 2).unitise(); |
115 auto s=create(level, Vec(0, -1, 0), 1); | 115 auto s=create(level, Vec(0, -1, 0), 1); |
116 printf("P5\n%d %d\n255", n,n); | 116 printf("P5\n%d %d\n255\n", n,n); |
117 for (int y=n-1; y>=0; --y) | 117 for (int y=n-1; y>=0; --y) |
118 for (int x=0; x<n; ++x) { | 118 for (int x=0; x<n; ++x) { |
119 double g=0; | 119 double g=0; |
120 for (int d=0; d<ss*ss; ++d) { | 120 for (int d=0; d<ss*ss; ++d) { |
121 auto dir=Vec(x+(d%ss)*1.0/ss-n/2.0, y+(d/ss)*1.0/ss-n/2.0, n).unitise(); | 121 auto dir=Vec(x+(d%ss)*1.0/ss-n/2.0, y+(d/ss)*1.0/ss-n/2.0, n).unitise(); |