1 \82±
\82Ì
\83c
\81[
\83\8b\82ÍPsychlops
\82É
\82¨
\82¯
\82éGLSL
\83T
\83|
\81[
\83g
\82ð
\83e
\83X
\83g
\82·
\82é
\83c
\81[
\83\8b\82Å
\82·
\81B
\r
2 \89æ
\96Ê
\89E
\89º
\82Ì
\83{
\83^
\83\93\8cQ
\82Å
\94C
\88Ó
\82ÌGLSL
\83v
\83\8d\83O
\83\89\83\80\82ð
\83\8d\81[
\83h
\82·
\82é
\82±
\82Æ
\82ª
\82Å
\82«
\82Ü
\82·
\81B
\r
3 GLSL/field
\82ÅGrating
\82È
\82Ç
\94C
\88Ó
\82Ì
\8e®
\82Ì
\95`
\89æ
\82ð
\81A
\r
4 GLSL/image
\82Å
\94C
\88Ó
\82Ì
\89æ
\91\9c\82É
\91Î
\89\9e\82·
\82é
\95Ï
\8a·
\82ð
\8ds
\82¢
\82Ü
\82·
\81B
\r
5 PNG image
\82ð
\83\8d\81[
\83h
\82·
\82é
\82ÆGLSL/image
\82É
\93K
\97p
\82·
\82é
\89æ
\91\9c\82ð
\8d·
\82µ
\91Ö
\82¦
\82é
\82±
\82Æ
\82ª
\82Å
\82«
\82Ü
\82·
\81B
\r
6 \89æ
\96Ê
\8d¶
\8fã
\82Ì
\95Ï
\90\94\91\80\8dì
\83{
\83b
\83N
\83X
\82ð
\8eg
\97p
\82·
\82é
\82±
\82Æ
\82Å
\81A
\83V
\83F
\81[
\83_
\82Ö
\82Ì
\88ø
\90\94\81i
\8cã
\8fq
\81j
\82ð
\95Ï
\82¦
\82é
\82±
\82Æ
\82ª
\82Å
\82«
\82Ü
\82·
\81B
\r
9 \81¦
\81i
\92\8d\88Ó
\93_
\81j
\r
10 \83O
\83\89\83t
\83B
\83b
\83N
\83h
\83\89\83C
\83o
\82É
\82æ
\82Á
\82ÄGLSL
\83R
\83\93\83p
\83C
\83\89\82Ì
\8eÀ
\91\95\82É
\8d·
\82ª
\82 \82è
\82Ü
\82·
\82Ì
\82Å
\81A
\r
11 \94z
\95z
\91O
\82É
\82Í
\82²
\8am
\94F
\82¢
\82½
\82¾
\82¯
\82Ü
\82·
\82æ
\82¤
\82¨
\8aè
\82¢
\82µ
\82Ü
\82·
\81B
\r
15 ////////
\83V
\83F
\81[
\83_
\83v
\83\8d\83O
\83\89\83\80\82Ì
\8f\91\82«
\95û /////////
\r
17 \8d¡
\89ñ
\8bL
\8fq
\82µ
\82Ä
\82¢
\82é
\95û
\96@
\82Í
\81AOpenGL2.0
\8f\80\8b\92\82ðæ
\90\82¤
\83r
\83f
\83I
\83J
\81[
\83h
\82Ì
\91½
\82
\82É
\8d\87\82í
\82¹
\82é
\82½
\82ß
\82É
\8dì
\90¬
\82µ
\82½
\8ed
\97l
\82Å
\82·
\81B
\r
18 \8d¡
\8cã
\81A
\82æ
\82è
\82æ
\82¢
\95û
\96@
\82É
\95Ï
\8dX
\82·
\82é
\97\
\92è
\82Å
\82·
\82Ì
\82Å
\81A
\82±
\82ê
\82ÍPsychlops1.5.0
\82É
\82¨
\82¯
\82é
\8bL
\8fq
\96@
\82É
\82È
\82è
\82Ü
\82·
\81B
\r
21 Psychlops
\82Å
\82Ì
\83V
\83F
\81[
\83_
\82Ì
\97\98\97p
\82Í
\8c»
\8dÝ
\82Í
\83s
\83N
\83Z
\83\8b\83V
\83F
\81[
\83_
\81i
\83t
\83\89\83O
\83\81\83\93\83g
\83V
\83F
\81[
\83_
\81j
\82Ì
\82Ý
\97\98\97p
\82µ
\82Ü
\82·
\81B
\r
22 \82±
\82ê
\82Í
\81A
\8ae
\89æ
\91f
\82Ì
\90F
\82Ì
\92è
\8b`
\82ð
\8bL
\8fq
\82·
\82é
\82à
\82Ì
\82Å
\81A
\92Ê
\8fí
\82Ì
\83v
\83\8d\83O
\83\89\83\80\82Å
\95K
\97v
\82È
\83\8b\81[
\83v
\82â
\83\81\83b
\83V
\83\85\83O
\83\8a\83b
\83h
\82ð
\8f\91\82
\95K
\97v
\82Í
\82 \82è
\82Ü
\82¹
\82ñ
\81B
\r
23 \88È
\89º
\82ÌPsychlops/GLSL
\81APsychlops/C++
\81APsychtoolbox/Matlab
\83R
\81[
\83h
\82Í
\91\8a\93¯
\82Å
\82·
\81B
\r
25 \81yPsychlops/GLSL
\81z
\r
27 pix( sin(xp())/4.0+0.25 + sin(yp())/4.0+0.25 );
\r
30 \81yPsychlops/C++
\81z
\r
33 for(int x=0; x<100; x++) {
\r
34 for(int y=0; y<100; y++) {
\r
35 img.pix(x,y, col.set( sin(x)/4.0+0.25 + sin(y)/4.0+0.25 ) );
\r
39 \81yPsychtoolbox/Matlab
\81z
\r
40 [x,y] = meshgrid(0:100, 0:100);
\r
41 m = sin(x)/4.0+0.25 + sin(y)/4.0+0.25 );
\r
42 Screen(window, 'PutImage', m);
\r
44 \83R
\83\93\83p
\83C
\83\8b\83G
\83\89\81[
\82Í
\89æ
\96Ê
\8fã
\82É
\95\
\8e¦
\82³
\82ê
\82é
\82Ù
\82©
\81A
\8eÀ
\8ds
\83t
\83@
\83C
\83\8b\82Æ
\93¯
\82¶
\83p
\83X
\82É
\82 \82é"GLSLTesterErrorLog.txt"
\82É
\8bL
\98^
\82³
\82ê
\82Ü
\82·
\81B
\r
47 ////
\88ø
\90\94\82Ì
\8eó
\82¯
\8eæ
\82è
\95û ////
\r
50 \8c»
\8fó
\81APsychlops
\82Ì
\83V
\83F
\81[
\83_
\83v
\83\8d\83O
\83\89\83\80\82Å
\82Í
\81A
\8ae
\95`
\89æ
\92P
\88Ê
\82Ö
\82Ì
\88ø
\90\94\82Í
\r
51 \88È
\89º
\82Ì
\8bL
\96@
\82É
\82æ
\82è
\88ø
\82«
\93n
\82µ
\82Ü
\82·
\81B
\r
54 in float contrast, frequency, orientation, phase; //
\81© main
\90é
\8c¾
\82Ì
\92¼
\91O
\82É"in float "
\82É
\91±
\82¯
\82Ä
\88ø
\90\94\82ð
\83R
\83\93\83}
\8bæ
\90Ø
\82è
\82Å
\8bL
\8fq
\82µ
\81A
\8dÅ
\8cã
\82É
\83Z
\83~
\83R
\83\8d\83\93\82ð
\91Å
\82Á
\82Ä
\89ü
\8ds
\81B
\82±
\82±
\82Å
\8ew
\92è
\82µ
\82½
\8f\87\82ÉC++
\91¤
\82Ì
\94z
\97ñ
\82É
\8ai
\94[
\81B
\r
59 double arg[16]; //
\81©
\93n
\82·
\88ø
\90\94\82ð
\8ai
\94[
\82·
\82é
\94z
\97ñ
\82ð
\97p
\88Ó
\81B
\94z
\97ñ
\92·
\82Í4, 8, 12, 16
\82Ì
\82¢
\82¸
\82ê
\82©
\8cÅ
\92è
\81B
\r
60 shader_field.draw(area_rect, arg, 4); //
\81© ShaderField / ShaderImage
\82Ì
\91æ2
\88ø
\90\94\82Å
\94z
\97ñ
\82ð
\81A
\91æ3
\88ø
\90\94\82Å
\94z
\97ñ
\92·/4
\82ð
\8ew
\92è
\81B
\r
63 \93à
\95\94\93I
\82É
\83e
\83N
\83X
\83`
\83\83\8dÀ
\95W
\8ew
\92è
\82ð
\8co
\97R
\82µ
\82Ä
\8eó
\82¯
\8eæ
\82é
\82æ
\82¤
\95Ï
\8a·
\82³
\82ê
\82Ü
\82·
\81B
\r
64 Psychlops
\82ð
\8eg
\97p
\82·
\82é
\8cÀ
\82è
\82 \82Ü
\82è
\8aÖ
\8cW
\82 \82è
\82Ü
\82¹
\82ñ
\82ª
\81A
\r
65 \93à
\95\94\82Ìgl_TexCoord
\82Í[0]
\81`[7]
\82Ü
\82Å
\82 \82è
\82Ü
\82·
\82ª
\81A
\82¤
\82¿[3]
\88È
\8d~
\82ÍPsychlops
\82ª
\8eg
\97p
\82µ
\82Ü
\82·
\81B
\r
66 \82Ü
\82½
\81AShaderImage
\82ð
\8eg
\82¤
\8fê
\8d\87\82Í[0]
\82à
\8eg
\97p
\82µ
\82Ü
\82·
\81B
\r
70 ////
\8aî
\96{
\95¶
\96@ ////
\r
72 GLSL
\8cö
\8e®
\83T
\83C
\83g
\82æ
\82è
\82²
\8am
\94F
\82¨
\8aè
\82¢
\82µ
\82Ü
\82·
\81B
\r
73 http://www.opengl.org/documentation/glsl/
\r
77 //// Psychlops
\82Å
\92è
\8b`
\82µ
\82Ä
\82¢
\82éGLSL
\8aÖ
\90\94 ////
\r
79 const float PI;
\89~
\8eü
\97¦
\81i
\92è
\90\94\81j
\r
80 const float E;
\83l
\83C
\83s
\83A
\90\94\81i
\92è
\90\94\81j
\r
82 float xp()
\89æ
\91\9c\8d¶
\8fã
\82ð
\8c´
\93_
\82Æ
\82µ
\82½x
\8dÀ
\95W
\81i
\83s
\83N
\83Z
\83\8b\92P
\88Ê
\81j
\82ð
\93¾
\82Ü
\82·
\81B
\r
83 float yp()
\89æ
\91\9c\8d¶
\8fã
\82ð
\8c´
\93_
\82Æ
\82µ
\82½y
\8dÀ
\95W
\81i
\83s
\83N
\83Z
\83\8b\92P
\88Ê
\81j
\82ð
\93¾
\82Ü
\82·
\81B
\r
84 float rp()
\89æ
\91\9c\92\86\90S
\82©
\82ç
\82Ì
\8b\97\97£
\82ð
\93¾
\82Ü
\82·
\81B
\r
85 float thetaf()
\89æ
\91\9c\92\86\90S
\82©
\82ç
\82Ì
\8ap
\93x
\82ð
\93¾
\82Ü
\82·
\81B
\r
86 float width()
\89æ
\91\9c\82Ì
\95\9d\82ð
\93¾
\82Ü
\82·
\81B
\r
87 float height()
\89æ
\91\9c\82Ì
\8d\82\82³
\82ð
\93¾
\82Ü
\82·
\81B
\r
89 void pix(in vec4 c);
\89æ
\91f
\82É
\90F
\82ð
\8ew
\92è
\82µ
\82Ü
\82·
\81B
\r
90 void pix(in float l);
\93¯
\8fã
\r
91 void pix(in float l, in float a);
\93¯
\8fã
\r
92 void pix(in float r, in float g, in float b);
\93¯
\8fã
\r
93 void pix(in float r, in float g, in float b, in float a);
\93¯
\8fã
\r
95 vec4 getPix()
\8c»
\8dÝ
\8f\88\97\9d\82µ
\82Ä
\82¢
\82é
\89æ
\91f
\82Ì
\90F
\82ð
\93¾
\82Ü
\82·
\81iShaderImage
\90ê
\97p
\81j
\r
96 vec4 getPix(in int x, in int y)
\8dÀ
\95W(x, y)
\82Ì
\89æ
\91f
\82Ì
\90F
\82ð
\93¾
\82Ü
\82·
\81iShaderImage
\90ê
\97p
\81j
\r
97 vec4 getPixOffset(in int x, in int y)
\8c»
\8dÝ
\8f\88\97\9d\82µ
\82Ä
\82¢
\82é
\89æ
\91f
\82©
\82ç(x, y)
\82¸
\82ê
\82½
\89æ
\91f
\82Ì
\90F
\82ð
\93¾
\82Ü
\82·
\81iShaderImage
\90ê
\97p
\81j
\r