factor: removing multiline
parent
6ab7214185
commit
6ca59c8e02
|
@ -1,5 +1,5 @@
|
||||||
USING: math math.parser sequences sequences.private kernel
|
USING: math math.parser sequences sequences.private kernel
|
||||||
bit-arrays make io math.ranges multiline fry locals ;
|
bit-arrays make io math.ranges fry locals ;
|
||||||
IN: benchmark.nsieve-bits
|
IN: benchmark.nsieve-bits
|
||||||
|
|
||||||
: clear-flags ( step i seq -- )
|
: clear-flags ( step i seq -- )
|
||||||
|
|
|
@ -2,7 +2,7 @@ USING: tools.test alien.syntax specialized-arrays sequences
|
||||||
alien accessors kernel arrays combinators compiler
|
alien accessors kernel arrays combinators compiler
|
||||||
compiler.units classes.struct combinators.smart
|
compiler.units classes.struct combinators.smart
|
||||||
compiler.tree.debugger math libc destructors sequences.private
|
compiler.tree.debugger math libc destructors sequences.private
|
||||||
multiline eval words vocabs namespaces assocs prettyprint
|
eval words vocabs namespaces assocs prettyprint
|
||||||
alien.data math.vectors definitions compiler.test ;
|
alien.data math.vectors definitions compiler.test ;
|
||||||
FROM: specialized-arrays.private => specialized-array-vocab ;
|
FROM: specialized-arrays.private => specialized-array-vocab ;
|
||||||
FROM: alien.c-types => int float bool uchar char float ulonglong ushort uint
|
FROM: alien.c-types => int float bool uchar char float ulonglong ushort uint
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
! Copyright (C) 2007, 2008 Slava Pestov.
|
! Copyright (C) 2007, 2008 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: words words.symbol sequences vocabs kernel
|
USING: words words.symbol sequences vocabs kernel
|
||||||
compiler.units multiline ;
|
compiler.units ;
|
||||||
in: bootstrap.syntax
|
IN: bootstrap.syntax
|
||||||
|
|
||||||
[
|
[
|
||||||
"syntax" create-vocab drop
|
"syntax" create-vocab drop
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
USING: assocs classes classes.private compiler.units definitions
|
USING: assocs classes classes.private compiler.units definitions
|
||||||
eval generic io.streams.string kernel math multiline namespaces
|
eval generic io.streams.string kernel math multiline namespaces
|
||||||
parser sequences sets sorting tools.test vocabs words ;
|
parser sequences sets sorting tools.test vocabs words ;
|
||||||
in: classes.tests
|
IN: classes.tests
|
||||||
|
|
||||||
{ t } [ 3 object instance? ] unit-test
|
{ t } [ 3 object instance? ] unit-test
|
||||||
{ t } [ 3 fixnum instance? ] unit-test
|
{ t } [ 3 fixnum instance? ] unit-test
|
||||||
|
@ -26,11 +26,10 @@ M: method-forget-class method-forget-test ;
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
! Long-standing problem
|
! Long-standing problem
|
||||||
use: multiline
|
|
||||||
|
|
||||||
! So the user has some code...
|
! So the user has some code...
|
||||||
{ } [
|
{ } [
|
||||||
"in: classes.test.a
|
"IN: classes.test.a
|
||||||
GENERIC: g ( a -- b ) ;
|
GENERIC: g ( a -- b ) ;
|
||||||
TUPLE: x ;
|
TUPLE: x ;
|
||||||
M: x g ;
|
M: x g ;
|
||||||
|
@ -40,16 +39,16 @@ use: multiline
|
||||||
|
|
||||||
! Note that q inlines M: x g ;
|
! Note that q inlines M: x g ;
|
||||||
{ } [
|
{ } [
|
||||||
"in: classes.test.b
|
"IN: classes.test.b
|
||||||
use: classes.test.a
|
USE: classes.test.a
|
||||||
use: kernel
|
USE: kernel
|
||||||
: q ( -- b ) z new g ;" <string-reader>
|
: q ( -- b ) z new g ;" <string-reader>
|
||||||
"class-intersect-no-method-b" parse-stream drop
|
"class-intersect-no-method-b" parse-stream drop
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
! Now, the user removes the z class and adds a method,
|
! Now, the user removes the z class and adds a method,
|
||||||
{ } [
|
{ } [
|
||||||
"in: classes.test.a
|
"IN: classes.test.a
|
||||||
GENERIC: g ( a -- b ) ;
|
GENERIC: g ( a -- b ) ;
|
||||||
TUPLE: x ;
|
TUPLE: x ;
|
||||||
M: x g ;
|
M: x g ;
|
||||||
|
@ -60,17 +59,17 @@ use: multiline
|
||||||
|
|
||||||
! And changes the definition of q
|
! And changes the definition of q
|
||||||
{ } [
|
{ } [
|
||||||
"in: classes.test.b
|
"IN: classes.test.b
|
||||||
use: classes.test.a
|
USE: classes.test.a
|
||||||
use: kernel
|
USE: kernel
|
||||||
: q ( -- b ) j new g ;" <string-reader>
|
: q ( -- b ) j new g ;" <string-reader>
|
||||||
"class-intersect-no-method-b" parse-stream drop
|
"class-intersect-no-method-b" parse-stream drop
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
! Similar problem, but with anonymous classes
|
! Similar problem, but with anonymous classes
|
||||||
{ } [
|
{ } [
|
||||||
"in: classes.test.c
|
"IN: classes.test.c
|
||||||
use: kernel
|
USE: kernel
|
||||||
GENERIC: g ( a -- b ) ;
|
GENERIC: g ( a -- b ) ;
|
||||||
M: object g ;
|
M: object g ;
|
||||||
TUPLE: z ;" <string-reader>
|
TUPLE: z ;" <string-reader>
|
||||||
|
@ -78,17 +77,17 @@ use: multiline
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ } [
|
{ } [
|
||||||
"in: classes.test.d
|
"IN: classes.test.d
|
||||||
use: classes.test.c
|
USE: classes.test.c
|
||||||
use: kernel
|
USE: kernel
|
||||||
: q ( a -- b ) dup z? [ g ] unless ;" <string-reader>
|
: q ( a -- b ) dup z? [ g ] unless ;" <string-reader>
|
||||||
"class-intersect-no-method-d" parse-stream drop
|
"class-intersect-no-method-d" parse-stream drop
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
! Now, the user removes the z class and adds a method,
|
! Now, the user removes the z class and adds a method,
|
||||||
{ } [
|
{ } [
|
||||||
"in: classes.test.c
|
"IN: classes.test.c
|
||||||
use: kernel
|
USE: kernel
|
||||||
GENERIC: g ( a -- b ) ;
|
GENERIC: g ( a -- b ) ;
|
||||||
M: object g ;
|
M: object g ;
|
||||||
TUPLE: j ;
|
TUPLE: j ;
|
||||||
|
@ -109,6 +108,6 @@ TUPLE: forgotten-predicate-test ;
|
||||||
|
|
||||||
GENERIC: generic-predicate? ( a -- b ) ;
|
GENERIC: generic-predicate? ( a -- b ) ;
|
||||||
|
|
||||||
{ } [ "in: classes.tests TUPLE: generic-predicate ;" eval( -- ) ] unit-test
|
{ } [ "IN: classes.tests TUPLE: generic-predicate ;" eval( -- ) ] unit-test
|
||||||
|
|
||||||
{ f } [ \ generic-predicate? generic? ] unit-test
|
{ f } [ \ generic-predicate? generic? ] unit-test
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
USING: accessors classes.tuple.parser lexer words classes
|
USING: accessors classes.tuple.parser lexer words classes
|
||||||
sequences math kernel slots tools.test parser compiler.units
|
sequences math kernel slots tools.test parser compiler.units
|
||||||
arrays classes.tuple eval multiline ;
|
arrays classes.tuple eval ;
|
||||||
in: classes.tuple.parser.tests
|
IN: classes.tuple.parser.tests
|
||||||
|
|
||||||
TUPLE: test-1 ;
|
TUPLE: test-1 ;
|
||||||
|
|
||||||
|
@ -50,20 +50,20 @@ TUPLE: test-8 { b integer read-only } ;
|
||||||
|
|
||||||
defer: foo
|
defer: foo
|
||||||
|
|
||||||
[ "in: classes.tuple.parser.tests TUPLE: foo < test-1 < ;" eval( -- ) ]
|
[ "IN: classes.tuple.parser.tests TUPLE: foo < test-1 < ;" eval( -- ) ]
|
||||||
[ error>> invalid-slot-name? ]
|
[ error>> invalid-slot-name? ]
|
||||||
must-fail-with
|
must-fail-with
|
||||||
|
|
||||||
[ "in: classes.tuple.parser.tests TUPLE: foo :" eval( -- ) ]
|
[ "IN: classes.tuple.parser.tests TUPLE: foo :" eval( -- ) ]
|
||||||
[ error>> invalid-slot-name? ]
|
[ error>> invalid-slot-name? ]
|
||||||
must-fail-with
|
must-fail-with
|
||||||
|
|
||||||
[ "in: classes.tuple.parser.tests TUPLE: foo" eval( -- ) ]
|
[ "IN: classes.tuple.parser.tests TUPLE: foo" eval( -- ) ]
|
||||||
[ error>> unexpected-eof? ]
|
[ error>> unexpected-eof? ]
|
||||||
must-fail-with
|
must-fail-with
|
||||||
|
|
||||||
2 [
|
2 [
|
||||||
[ "in: classes.tuple.parser.tests use: alien TUPLE: foo { slot dll } ;" eval( -- ) ]
|
[ "IN: classes.tuple.parser.tests use: alien TUPLE: foo { slot dll } ;" eval( -- ) ]
|
||||||
[ error>> bad-initial-value? ]
|
[ error>> bad-initial-value? ]
|
||||||
must-fail-with
|
must-fail-with
|
||||||
|
|
||||||
|
@ -71,14 +71,14 @@ must-fail-with
|
||||||
] times
|
] times
|
||||||
|
|
||||||
2 [
|
2 [
|
||||||
[ "in: classes.tuple.parser.tests use: arrays TUPLE: foo { slot array initial: 5 } ;" eval( -- ) ]
|
[ "IN: classes.tuple.parser.tests use: arrays TUPLE: foo { slot array initial: 5 } ;" eval( -- ) ]
|
||||||
[ error>> bad-initial-value? ]
|
[ error>> bad-initial-value? ]
|
||||||
must-fail-with
|
must-fail-with
|
||||||
|
|
||||||
[ f ] [ \ foo tuple-class? ] unit-test
|
[ f ] [ \ foo tuple-class? ] unit-test
|
||||||
] times
|
] times
|
||||||
|
|
||||||
[ "in: classes.tuple.parser.tests use: arrays TUPLE: foo slot { slot array } ;" eval( -- ) ]
|
[ "IN: classes.tuple.parser.tests use: arrays TUPLE: foo slot { slot array } ;" eval( -- ) ]
|
||||||
[ error>> duplicate-slot-names? ]
|
[ error>> duplicate-slot-names? ]
|
||||||
must-fail-with
|
must-fail-with
|
||||||
|
|
||||||
|
@ -145,19 +145,19 @@ TUPLE: parsing-corner-case x ;
|
||||||
|
|
||||||
TUPLE: bad-inheritance-tuple ;
|
TUPLE: bad-inheritance-tuple ;
|
||||||
[
|
[
|
||||||
"in: classes.tuple.parser.tests TUPLE: bad-inheritance-tuple < bad-inheritance-tuple ;" eval( -- )
|
"IN: classes.tuple.parser.tests TUPLE: bad-inheritance-tuple < bad-inheritance-tuple ;" eval( -- )
|
||||||
] [ error>> bad-inheritance? ] must-fail-with
|
] [ error>> bad-inheritance? ] must-fail-with
|
||||||
|
|
||||||
TUPLE: bad-inheritance-tuple2 ;
|
TUPLE: bad-inheritance-tuple2 ;
|
||||||
TUPLE: bad-inheritance-tuple3 < bad-inheritance-tuple2 ;
|
TUPLE: bad-inheritance-tuple3 < bad-inheritance-tuple2 ;
|
||||||
[
|
[
|
||||||
"in: classes.tuple.parser.tests TUPLE: bad-inheritance-tuple2 < bad-inheritance-tuple3 ;" eval( -- )
|
"IN: classes.tuple.parser.tests TUPLE: bad-inheritance-tuple2 < bad-inheritance-tuple3 ;" eval( -- )
|
||||||
] [ error>> bad-inheritance? ] must-fail-with
|
] [ error>> bad-inheritance? ] must-fail-with
|
||||||
|
|
||||||
! This must not fail
|
! This must not fail
|
||||||
TUPLE: tup ;
|
TUPLE: tup ;
|
||||||
UNION: u tup ;
|
UNION: u tup ;
|
||||||
|
|
||||||
{ } [ "in: classes.tuple.parser.tests TUPLE: u < tup ;" eval( -- ) ] unit-test
|
{ } [ "IN: classes.tuple.parser.tests TUPLE: u < tup ;" eval( -- ) ] unit-test
|
||||||
|
|
||||||
{ t } [ u new tup? ] unit-test
|
{ t } [ u new tup? ] unit-test
|
||||||
|
|
|
@ -73,8 +73,6 @@ in: modern.paths
|
||||||
"specialized-arrays" "specialized-vectors"
|
"specialized-arrays" "specialized-vectors"
|
||||||
"math.blas.matrices" "math.blas.vectors" "math.vectors.simd"
|
"math.blas.matrices" "math.blas.vectors" "math.vectors.simd"
|
||||||
"math.vectors.simd.cords" "game.debug" "gpu.util" "gpu.effects.blur"
|
"math.vectors.simd.cords" "game.debug" "gpu.util" "gpu.effects.blur"
|
||||||
"gpu.effects.step" "model-viewer" "terrain.shaders" "spheres"
|
|
||||||
"bunny.cel-shaded" "bunny.outlined"
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ in: game.debug
|
||||||
|
|
||||||
PRIVATE<
|
PRIVATE<
|
||||||
! Vertex shader for debug shapes
|
! Vertex shader for debug shapes
|
||||||
GLSL-SHADER: debug-shapes-vertex-shader vertex-shader
|
GLSL-SHADER: debug-shapes-vertex-shader vertex-shader [[
|
||||||
uniform mat4 u_mvp_matrix;
|
uniform mat4 u_mvp_matrix;
|
||||||
attribute vec3 a_position;
|
attribute vec3 a_position;
|
||||||
attribute vec3 a_color;
|
attribute vec3 a_color;
|
||||||
|
@ -22,15 +22,15 @@ void main()
|
||||||
gl_PointSize = 5.0;
|
gl_PointSize = 5.0;
|
||||||
v_color = a_color;
|
v_color = a_color;
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
GLSL-SHADER: debug-shapes-fragment-shader fragment-shader
|
GLSL-SHADER: debug-shapes-fragment-shader fragment-shader [[
|
||||||
varying vec3 v_color;
|
varying vec3 v_color;
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
gl_FragColor = vec4(v_color, 1.0);
|
gl_FragColor = vec4(v_color, 1.0);
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
VERTEX-FORMAT: debug-shapes-vertex-format
|
VERTEX-FORMAT: debug-shapes-vertex-format
|
||||||
{ "a_position" float-components 3 f }
|
{ "a_position" float-components 3 f }
|
||||||
|
@ -43,7 +43,7 @@ GLSL-PROGRAM: debug-shapes-program debug-shapes-vertex-shader
|
||||||
debug-shapes-fragment-shader debug-shapes-vertex-format ;
|
debug-shapes-fragment-shader debug-shapes-vertex-format ;
|
||||||
|
|
||||||
! Vertex shader for debug text
|
! Vertex shader for debug text
|
||||||
GLSL-SHADER: debug-text-vertex-shader vertex-shader
|
GLSL-SHADER: debug-text-vertex-shader vertex-shader [[
|
||||||
attribute vec2 a_position;
|
attribute vec2 a_position;
|
||||||
attribute vec2 a_texcoord;
|
attribute vec2 a_texcoord;
|
||||||
varying vec2 v_texcoord;
|
varying vec2 v_texcoord;
|
||||||
|
@ -52,9 +52,9 @@ void main()
|
||||||
gl_Position = vec4(a_position, 0.0, 1.0);
|
gl_Position = vec4(a_position, 0.0, 1.0);
|
||||||
v_texcoord = a_texcoord;
|
v_texcoord = a_texcoord;
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
GLSL-SHADER: debug-text-fragment-shader fragment-shader
|
GLSL-SHADER: debug-text-fragment-shader fragment-shader [[
|
||||||
uniform sampler2D u_text_map;
|
uniform sampler2D u_text_map;
|
||||||
uniform vec3 u_background_color;
|
uniform vec3 u_background_color;
|
||||||
varying vec2 v_texcoord;
|
varying vec2 v_texcoord;
|
||||||
|
@ -66,7 +66,7 @@ void main()
|
||||||
else
|
else
|
||||||
gl_FragColor = c;
|
gl_FragColor = c;
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
VERTEX-FORMAT: debug-text-vertex-format
|
VERTEX-FORMAT: debug-text-vertex-format
|
||||||
{ "a_position" float-components 2 f }
|
{ "a_position" float-components 2 f }
|
||||||
|
@ -86,13 +86,13 @@ CONSTANT: debug-text-font
|
||||||
{ bold? f }
|
{ bold? f }
|
||||||
{ italic? f }
|
{ italic? f }
|
||||||
{ foreground color: white }
|
{ foreground color: white }
|
||||||
{ background color: black } }
|
{ background color: black } } ;
|
||||||
|
|
||||||
CONSTANT: debug-text-texture-parameters
|
CONSTANT: debug-text-texture-parameters
|
||||||
T{ texture-parameters
|
T{ texture-parameters
|
||||||
{ wrap repeat-texcoord }
|
{ wrap repeat-texcoord }
|
||||||
{ min-filter filter-linear }
|
{ min-filter filter-linear }
|
||||||
{ min-mipmap-filter f } }
|
{ min-mipmap-filter f } } ;
|
||||||
|
|
||||||
: text>image ( string color -- image )
|
: text>image ( string color -- image )
|
||||||
debug-text-font clone swap >>foreground swap string>image drop ;
|
debug-text-font clone swap >>foreground swap string>image drop ;
|
||||||
|
@ -159,10 +159,10 @@ CONSTANT: box-vertices
|
||||||
{ { -1 1 -1 } { -1 1 1 } }
|
{ { -1 1 -1 } { -1 1 1 } }
|
||||||
{ { -1 1 -1 } { 1 1 -1 } }
|
{ { -1 1 -1 } { 1 1 -1 } }
|
||||||
{ { 1 -1 -1 } { 1 -1 1 } }
|
{ { 1 -1 -1 } { 1 -1 1 } }
|
||||||
{ { 1 -1 -1 } { 1 1 -1 } } }
|
{ { 1 -1 -1 } { 1 1 -1 } } } ;
|
||||||
|
|
||||||
CONSTANT: cylinder-vertices
|
CONSTANT: cylinder-vertices
|
||||||
$[ 12 iota [ 2pi 12 / * [ cos ] [ drop 0.0 ] [ sin ] tri 3array ] map ]
|
$[ 12 iota [ 2pi 12 / * [ cos ] [ drop 0.0 ] [ sin ] tri 3array ] map ] ;
|
||||||
|
|
||||||
:: scale-cylinder-vertices ( radius half-height verts -- bot-verts top-verts )
|
:: scale-cylinder-vertices ( radius half-height verts -- bot-verts top-verts )
|
||||||
verts
|
verts
|
||||||
|
|
|
@ -5,7 +5,7 @@ gpu.state gpu.textures gpu.util images kernel locals math
|
||||||
math.rectangles sequences ;
|
math.rectangles sequences ;
|
||||||
in: gpu.effects.blur
|
in: gpu.effects.blur
|
||||||
|
|
||||||
GLSL-SHADER: blur-fragment-shader fragment-shader
|
GLSL-SHADER: blur-fragment-shader fragment-shader [[
|
||||||
uniform sampler2D texture;
|
uniform sampler2D texture;
|
||||||
uniform bool horizontal;
|
uniform bool horizontal;
|
||||||
uniform float blurSize;
|
uniform float blurSize;
|
||||||
|
@ -45,7 +45,7 @@ void main()
|
||||||
}
|
}
|
||||||
gl_FragColor = col;
|
gl_FragColor = col;
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
UNIFORM-TUPLE: blur-uniforms
|
UNIFORM-TUPLE: blur-uniforms
|
||||||
{ "texture" texture-uniform f }
|
{ "texture" texture-uniform f }
|
||||||
|
|
|
@ -4,7 +4,7 @@ USING: destructors gpu.render gpu.shaders gpu.state gpu.textures
|
||||||
gpu.util images kernel locals math.rectangles ;
|
gpu.util images kernel locals math.rectangles ;
|
||||||
in: gpu.effects.step
|
in: gpu.effects.step
|
||||||
|
|
||||||
GLSL-SHADER: step-fragment-shader fragment-shader
|
GLSL-SHADER: step-fragment-shader fragment-shader [[
|
||||||
const vec4 luminance = vec4(0.3, 0.59, 0.11, 0.0);
|
const vec4 luminance = vec4(0.3, 0.59, 0.11, 0.0);
|
||||||
uniform sampler2D texture;
|
uniform sampler2D texture;
|
||||||
uniform sampler2D ramp;
|
uniform sampler2D ramp;
|
||||||
|
@ -15,7 +15,7 @@ void main()
|
||||||
float l = dot(col, luminance);
|
float l = dot(col, luminance);
|
||||||
gl_FragColor = texture2D(ramp, vec2(l, 0.0));
|
gl_FragColor = texture2D(ramp, vec2(l, 0.0));
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
UNIFORM-TUPLE: step-uniforms
|
UNIFORM-TUPLE: step-uniforms
|
||||||
{ "texture" texture-uniform f }
|
{ "texture" texture-uniform f }
|
||||||
|
|
|
@ -39,11 +39,11 @@ HELP: \ GLSL-SHADER-FILE:
|
||||||
{ $description "Defines a new " { $link shader } " of kind " { $link shader-kind } " named " { $snippet "shader-name" } ". The shader will read its source code from " { $snippet "filename" } " in the current Factor source file's directory." } ;
|
{ $description "Defines a new " { $link shader } " of kind " { $link shader-kind } " named " { $snippet "shader-name" } ". The shader will read its source code from " { $snippet "filename" } " in the current Factor source file's directory." } ;
|
||||||
|
|
||||||
HELP: \ GLSL-SHADER:
|
HELP: \ GLSL-SHADER:
|
||||||
{ $syntax "GLSL-SHADER: shader-name shader-kind
|
{ $syntax "GLSL-SHADER: shader-name shader-kind [[
|
||||||
|
|
||||||
shader source
|
shader source
|
||||||
|
|
||||||
;" }
|
]] ;" }
|
||||||
{ $description "Defines a new " { $link shader } " of kind " { $link shader-kind } " named " { $snippet "shader-name" } ". The shader will read its source code from the current Factor source file between the " { $snippet "GLSL-SHADER:" } " line and the first subsequent line with a single semicolon on it." } ;
|
{ $description "Defines a new " { $link shader } " of kind " { $link shader-kind } " named " { $snippet "shader-name" } ". The shader will read its source code from the current Factor source file between the " { $snippet "GLSL-SHADER:" } " line and the first subsequent line with a single semicolon on it." } ;
|
||||||
|
|
||||||
HELP: \ VERTEX-FORMAT:
|
HELP: \ VERTEX-FORMAT:
|
||||||
|
|
|
@ -591,7 +591,7 @@ SYNTAX: \ GLSL-SHADER:
|
||||||
scan-word
|
scan-word
|
||||||
f
|
f
|
||||||
lexer get line>>
|
lexer get line>>
|
||||||
parse-here
|
scan-object
|
||||||
] dip
|
] dip
|
||||||
shader boa
|
shader boa
|
||||||
over reset-generic
|
over reset-generic
|
||||||
|
|
|
@ -46,7 +46,7 @@ CONSTANT: environment-cube-map-mv-matrices
|
||||||
} }
|
} }
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
GLSL-SHADER: window-vertex-shader vertex-shader
|
GLSL-SHADER: window-vertex-shader vertex-shader [[
|
||||||
attribute vec2 vertex;
|
attribute vec2 vertex;
|
||||||
varying vec2 texcoord;
|
varying vec2 texcoord;
|
||||||
void main()
|
void main()
|
||||||
|
@ -54,16 +54,16 @@ void main()
|
||||||
texcoord = vertex * vec2(0.5) + vec2(0.5);
|
texcoord = vertex * vec2(0.5) + vec2(0.5);
|
||||||
gl_Position = vec4(vertex, 0.0, 1.0);
|
gl_Position = vec4(vertex, 0.0, 1.0);
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
GLSL-SHADER: window-fragment-shader fragment-shader
|
GLSL-SHADER: window-fragment-shader fragment-shader [[
|
||||||
uniform sampler2D texture;
|
uniform sampler2D texture;
|
||||||
varying vec2 texcoord;
|
varying vec2 texcoord;
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
gl_FragColor = texture2D(texture, texcoord);
|
gl_FragColor = texture2D(texture, texcoord);
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
VERTEX-FORMAT: window-vertex-format
|
VERTEX-FORMAT: window-vertex-format
|
||||||
{ "vertex" float-components 2 f } ;
|
{ "vertex" float-components 2 f } ;
|
||||||
|
@ -73,7 +73,7 @@ UNIFORM-TUPLE: window-uniforms
|
||||||
|
|
||||||
GLSL-PROGRAM: window-program window-vertex-shader window-fragment-shader window-vertex-format ;
|
GLSL-PROGRAM: window-program window-vertex-shader window-fragment-shader window-vertex-format ;
|
||||||
|
|
||||||
GLSL-SHADER: window-point-vertex-shader vertex-shader
|
GLSL-SHADER: window-point-vertex-shader vertex-shader [[
|
||||||
uniform float point_size;
|
uniform float point_size;
|
||||||
attribute vec2 vertex;
|
attribute vec2 vertex;
|
||||||
void main()
|
void main()
|
||||||
|
@ -81,16 +81,16 @@ void main()
|
||||||
gl_Position = vec4(vertex, 0.0, 1.0);
|
gl_Position = vec4(vertex, 0.0, 1.0);
|
||||||
gl_PointSize = point_size;
|
gl_PointSize = point_size;
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
GLSL-SHADER: window-point-fragment-shader fragment-shader
|
GLSL-SHADER: window-point-fragment-shader fragment-shader [[
|
||||||
#version 120
|
#version 120
|
||||||
uniform sampler2D texture;
|
uniform sampler2D texture;
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
gl_FragColor = texture2D(texture, gl_PointCoord);
|
gl_FragColor = texture2D(texture, gl_PointCoord);
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
UNIFORM-TUPLE: window-point-uniforms
|
UNIFORM-TUPLE: window-point-uniforms
|
||||||
{ "texture" texture-uniform f }
|
{ "texture" texture-uniform f }
|
||||||
|
|
|
@ -16,7 +16,7 @@ specialized-array: float
|
||||||
specialized-vector: uint
|
specialized-vector: uint
|
||||||
in: model-viewer
|
in: model-viewer
|
||||||
|
|
||||||
GLSL-SHADER: obj-vertex-shader vertex-shader
|
GLSL-SHADER: obj-vertex-shader vertex-shader [[
|
||||||
uniform mat4 mv_matrix;
|
uniform mat4 mv_matrix;
|
||||||
uniform mat4 p_matrix;
|
uniform mat4 p_matrix;
|
||||||
|
|
||||||
|
@ -36,9 +36,9 @@ void main()
|
||||||
texcoord_fs = TEXCOORD;
|
texcoord_fs = TEXCOORD;
|
||||||
normal_fs = NORMAL;
|
normal_fs = NORMAL;
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
GLSL-SHADER: obj-fragment-shader fragment-shader
|
GLSL-SHADER: obj-fragment-shader fragment-shader [[
|
||||||
uniform mat4 mv_matrix, p_matrix;
|
uniform mat4 mv_matrix, p_matrix;
|
||||||
uniform sampler2D map_Ka;
|
uniform sampler2D map_Ka;
|
||||||
uniform sampler2D map_bump;
|
uniform sampler2D map_bump;
|
||||||
|
@ -60,7 +60,7 @@ void main()
|
||||||
gl_FragColor = d * cosTh
|
gl_FragColor = d * cosTh
|
||||||
+ d * 0.5 * cosTh * pow(saturate(dot(n, h)), 10.0) ;
|
+ d * 0.5 * cosTh * pow(saturate(dot(n, h)), 10.0) ;
|
||||||
}
|
}
|
||||||
;
|
]] ;
|
||||||
|
|
||||||
GLSL-PROGRAM: obj-program
|
GLSL-PROGRAM: obj-program
|
||||||
obj-vertex-shader obj-fragment-shader ;
|
obj-vertex-shader obj-fragment-shader ;
|
||||||
|
|
Loading…
Reference in New Issue