… | |
… | |
228 | } |
228 | } |
229 | |
229 | |
230 | const sl_expr< sl_string<60> > sl_convert< ::vec2 >::convert (const ::vec2 &v) |
230 | const sl_expr< sl_string<60> > sl_convert< ::vec2 >::convert (const ::vec2 &v) |
231 | { |
231 | { |
232 | sl_string<60> s; |
232 | sl_string<60> s; |
233 | sprintf (s.str, "vec2 (%g, %g)", v.x, v.y); |
233 | sprintf (s.str, "vec2 (%e, %e)", v.x, v.y); |
234 | return s; |
234 | return s; |
235 | } |
235 | } |
236 | |
236 | |
237 | const sl_expr< sl_string<80> > sl_convert< ::vec3 >::convert (const ::vec3 &v) |
237 | const sl_expr< sl_string<80> > sl_convert< ::vec3 >::convert (const ::vec3 &v) |
238 | { |
238 | { |
239 | sl_string<80> s; |
239 | sl_string<80> s; |
240 | sprintf (s.str, "vec3 (%g, %g, %g)", v.x, v.y, v.z); |
240 | sprintf (s.str, "vec3 (%e, %e, %e)", v.x, v.y, v.z); |
241 | return s; |
241 | return s; |
242 | } |
242 | } |
243 | |
243 | |
244 | const sl_expr< sl_string<100> > sl_convert< ::vec4 >::convert (const ::vec4 &v) |
244 | const sl_expr< sl_string<100> > sl_convert< ::vec4 >::convert (const ::vec4 &v) |
245 | { |
245 | { |
246 | sl_string<100> s; |
246 | sl_string<100> s; |
247 | sprintf (s.str, "vec4 (%g, %g, %g, %g)", v.x, v.y, v.z, v.w); |
247 | sprintf (s.str, "vec4 (%e, %e, %e, %e)", v.x, v.y, v.z, v.w); |
248 | return s; |
248 | return s; |
249 | } |
249 | } |
250 | |
250 | |
251 | shader_builder *shader_builder::cur = 0; |
251 | shader_builder *shader_builder::cur = 0; |
252 | |
252 | |
… | |
… | |
262 | } |
262 | } |
263 | |
263 | |
264 | void shader_builder::start () |
264 | void shader_builder::start () |
265 | { |
265 | { |
266 | cur = new shader_builder; |
266 | cur = new shader_builder; |
|
|
267 | cur->code << scientific; |
267 | } |
268 | } |
268 | |
269 | |
269 | string shader_builder::stop () |
270 | string shader_builder::stop () |
270 | { |
271 | { |
271 | ostringstream os; |
272 | ostringstream os; |