X3D
type: NamedIndividual
has head: head
has scene: Scene
profile: Immersive
version: 3.1
no namespace schema location: https://www.web3d.org/specifications/x3d-3.1.xsd

component 1 1
type: NamedIndividual
type: component
has parent: head
level: 1
name: Shaders

meta 1 2
type: NamedIndividual
type: meta
has parent: head
content: Flutter.x3d
name: title

meta 1 3
type: NamedIndividual
type: meta
has parent: head
content: Shader test
name: description

meta 1 4
type: NamedIndividual
type: meta
has parent: head
content: John Stewart
name: creator

meta 1 5
type: NamedIndividual
type: meta
has parent: head
content: Don Brutzman
name: translator

meta 1 6
type: NamedIndividual
type: meta
has parent: head
content: Jeff Malnick
name: translator

meta 1 7
type: NamedIndividual
type: meta
has parent: head
content: 15 February 2010
name: created

meta 1 8
type: NamedIndividual
type: meta
has parent: head
content: 1 July 2023
name: modified

meta 1 9
type: NamedIndividual
type: meta
has parent: head
content: http://www.opengl.org/wiki/Fragment_Shader
name: reference

meta 1 10
type: NamedIndividual
type: meta
has parent: head
content: http://www.opengl.org/wiki/http://www.opengl.org/wiki/Vertex_Shader
name: reference

meta 1 11
type: NamedIndividual
type: meta
has parent: head
content: http://freewrl.sourceforge.net/examples.html
name: reference

meta 1 12
type: NamedIndividual
type: meta
has parent: head
content: originals/flutter.x3d
name: reference

meta 1 13
type: NamedIndividual
type: meta
has parent: head
content: http://freewrl.sourceforge.net/images/flutter.x3d
name: reference

meta 1 14
type: NamedIndividual
type: meta
has parent: head
content: X3D Shader example
name: subject

meta 1 15
type: NamedIndividual
type: meta
has parent: head
content: https://www.web3d.org/x3d/content/examples/Basic/Shaders/Flutter.x3d
name: identifier

meta 1 16
type: NamedIndividual
type: meta
has parent: head
content: under development
name: warning

meta 1 17
type: NamedIndividual
type: meta
has parent: head
content: CDATA blocks also saved as file for embedded shader script
name: TODO

meta 1 18
type: NamedIndividual
type: meta
has parent: head
content: X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit
name: generator

meta 1 19
type: NamedIndividual
type: meta
has parent: head
content: https://savage.nps.edu/Savage/license.html
name: license

Flutter.x3d
description: Shader test
creator: John Stewart
translator: Don Brutzman
translator: Jeff Malnick
created: 15 February 2010
modified: 1 July 2023
reference: http://www.opengl.org/wiki/Fragment_Shader
reference: http://www.opengl.org/wiki/http://www.opengl.org/wiki/Vertex_Shader
reference: http://freewrl.sourceforge.net/examples.html
reference: originals/flutter.x3d
reference: http://freewrl.sourceforge.net/images/flutter.x3d
subject: X3D Shader example
warning: under development
generator: X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit
license: https://savage.nps.edu/Savage/license.html

WorldInfo 2 1
type: NamedIndividual
type: WorldInfo
has parent: Scene
title: Flutter.x3d

Background 2 2
type: NamedIndividual
type: Background
has parent: Scene
ground angle: 1.57
ground color: 0.0
ground color: 0.7
sky angle: 1.07
sky angle: 1.45
sky angle: 1.52
sky angle: 1.57
sky color: 0.0
sky color: 0.39
sky color: 0.7
sky color: 0.45
sky color: 0.8
sky color: 0.4
sky color: 1.0

Viewpoint 2 4
type: NamedIndividual
type: Viewpoint
has parent: Scene
description: Pool of Water

IndexedLineSet 2 5 1 1 1
type: NamedIndividual
type: IndexedLineSet
has parent: Shape 2 5 1 1
has coord: Coordinate 2 5 1 1 1 1
has color: Color 2 5 1 1 1 2
color index: 0
color per vertex: false
coord index: 0
coord index: 1
coord index: 2
coord index: 3
coord index: -1
coord index: 4
coord index: 5
coord index: 6
coord index: 7

Coordinate 2 5 1 1 1 1
type: NamedIndividual
type: Coordinate
has parent: IndexedLineSet 2 5 1 1 1
point: -2
point: 2

Color 2 5 1 1 1 2
type: NamedIndividual
type: Color
has parent: IndexedLineSet 2 5 1 1 1
color: 0
color: 1

Transform 2 5 1 2
type: NamedIndividual
type: Transform
has parent: Group 2 5 1
has children: mySphereX
translation: 0
translation: -2

mySphereX
type: NamedIndividual
type: Transform
has parent: Transform 2 5 1 2
has children: Shape 2 5 1 2 1 1
has children: mySensorX
DEF: mySphereX

Material 2 5 1 2 1 1 1 1
type: NamedIndividual
type: Material
has parent: Appearance 2 5 1 2 1 1 1
diffuse color: 1
diffuse color: 0

Sphere 2 5 1 2 1 1 2
type: NamedIndividual
type: Sphere
has parent: Shape 2 5 1 2 1 1
radius: 0.2

mySensorX
type: NamedIndividual
type: PlaneSensor
has parent: mySphereX
DEF: mySensorX
description: amount of ripples
max position: 2
max position: 0
min position: -1.8
min position: 0

Transform 2 5 1 3
type: NamedIndividual
type: Transform
has parent: Group 2 5 1
has children: mySphereY
translation: -2
translation: 0

mySphereY
type: NamedIndividual
type: Transform
has parent: Transform 2 5 1 3
has children: Shape 2 5 1 3 1 1
has children: mySensorY
DEF: mySphereY

Material 2 5 1 3 1 1 1 1
type: NamedIndividual
type: Material
has parent: Appearance 2 5 1 3 1 1 1
diffuse color: 1
diffuse color: 0

Sphere 2 5 1 3 1 1 2
type: NamedIndividual
type: Sphere
has parent: Shape 2 5 1 3 1 1
radius: 0.2

mySensorY
type: NamedIndividual
type: PlaneSensor
has parent: mySphereY
DEF: mySensorY
description: brightness
max position: 0
max position: 2
min position: 0
min position: -1.8

Transform 2 5 1 4
type: NamedIndividual
type: Transform
has parent: Group 2 5 1
has children: mySphereZ
rotation: 1
rotation: 0
rotation: 1.57
translation: -2
translation: 0

mySphereZ
type: NamedIndividual
type: Transform
has parent: Transform 2 5 1 4
has children: Shape 2 5 1 4 1 1
has children: mySensorZ
DEF: mySphereZ

Material 2 5 1 4 1 1 1 1
type: NamedIndividual
type: Material
has parent: Appearance 2 5 1 4 1 1 1
diffuse color: 1
diffuse color: 0

Sphere 2 5 1 4 1 1 2
type: NamedIndividual
type: Sphere
has parent: Shape 2 5 1 4 1 1
radius: 0.2

mySensorZ
type: NamedIndividual
type: PlaneSensor
has parent: mySphereZ
DEF: mySensorZ
description: height/depth of ripples
max position: 0
max position: 2
min position: 0
min position: -1.8

Transform 2 5 2
type: NamedIndividual
type: Transform
has parent: Group 2 5
has children: Shape 2 5 2 1
scale: 3

Material 2 5 2 1 1 1
type: NamedIndividual
type: Material
has parent: Appearance 2 5 2 1 1
diffuse color: 0
diffuse color: 0.5
diffuse color: 1

Shader
type: NamedIndividual
type: ComposedShader
has parent: Appearance 2 5 2 1 1
has field: field 2 5 2 1 1 2 1
has field: field 2 5 2 1 1 2 2
has field: field 2 5 2 1 1 2 3
has field: field 2 5 2 1 1 2 4
has parts: ShaderPart 2 5 2 1 1 2 5
has parts: ShaderPart 2 5 2 1 1 2 6
DEF: Shader
language: GLSL

field 2 5 2 1 1 2 1
type: NamedIndividual
type: field
has parent: Shader
access type: inputOnly
name: fraction
type: SFFloat

field 2 5 2 1 1 2 2
type: NamedIndividual
type: field
has parent: Shader
access type: inputOnly
name: xBall
type: SFVec3f

field 2 5 2 1 1 2 3
type: NamedIndividual
type: field
has parent: Shader
access type: inputOnly
name: yBall
type: SFVec3f

field 2 5 2 1 1 2 4
type: NamedIndividual
type: field
has parent: Shader
access type: inputOnly
name: zBall
type: SFVec3f

ShaderPart 2 5 2 1 1 2 6
type: NamedIndividual
type: ShaderPart
has parent: Shader
type: FRAGMENT

Wave
type: NamedIndividual
type: IndexedFaceSet
has parent: Shape 2 5 2 1
has coord: WaveCoordinates
DEF: Wave
coord index: 0
coord index: 1
coord index: 201
coord index: 200
coord index: -1
coord index: 2
coord index: 202
coord index: 3
coord index: 203
coord index: 4
coord index: 204
coord index: 5
coord index: 205
coord index: 6
coord index: 206
coord index: 7
coord index: 207
coord index: 8
coord index: 208
coord index: 9
coord index: 209
coord index: 10
coord index: 210
coord index: 11
coord index: 211
coord index: 12
coord index: 212
coord index: 13
coord index: 213
coord index: 14
coord index: 214
coord index: 15
coord index: 215
coord index: 16
coord index: 216
coord index: 17
coord index: 217
coord index: 18
coord index: 218
coord index: 19
coord index: 219
coord index: 20
coord index: 220
coord index: 21
coord index: 221
coord index: 22
coord index: 222
coord index: 23
coord index: 223
coord index: 24
coord index: 224
coord index: 25
coord index: 225
coord index: 26
coord index: 226
coord index: 27
coord index: 227
coord index: 28
coord index: 228
coord index: 29
coord index: 229
coord index: 30
coord index: 230
coord index: 31
coord index: 231
coord index: 32
coord index: 232
coord index: 33
coord index: 233
coord index: 34
coord index: 234
coord index: 35
coord index: 235
coord index: 36
coord index: 236

WaveCoordinates
type: NamedIndividual
type: Coordinate
has parent: Wave
DEF: WaveCoordinates
point: -0.5
point: 0
point: -0.495
point: -0.49
point: -0.485
point: -0.48
point: -0.475
point: -0.47
point: -0.465
point: -0.46
point: -0.455
point: -0.45
point: -0.445
point: -0.44
point: -0.435
point: -0.43
point: -0.425
point: -0.42
point: -0.415
point: -0.41
point: -0.405
point: -0.4
point: -0.395
point: -0.39
point: -0.385
point: -0.38
point: -0.375
point: -0.37
point: -0.365
point: -0.36
point: -0.355
point: -0.35
point: -0.345
point: -0.34
point: -0.335
point: -0.33
point: -0.325
point: -0.32
point: -0.315
point: -0.31
point: -0.305
point: -0.3
point: -0.295
point: -0.29
point: -0.285
point: -0.28
point: -0.275
point: -0.27
point: -0.265
point: -0.26
point: -0.255
point: -0.25
point: -0.245
point: -0.24
point: -0.235
point: -0.23
point: -0.225
point: -0.22
point: -0.215
point: -0.21
point: -0.205
point: -0.2
point: -0.195
point: -0.19
point: -0.185
point: -0.18
point: -0.175
point: -0.17
point: -0.165
point: -0.16
point: -0.155
point: -0.15
point: -0.145
point: -0.14
point: -0.135
point: -0.13

Clock
type: NamedIndividual
type: TimeSensor
has parent: Group 2 5
DEF: Clock
cycle interval: 10
loop: true

ROUTE 2 6
type: NamedIndividual
type: ROUTE
has parent: Scene
from field: fraction_changed
from node: Clock
to field: fraction
to node: Shader

ROUTE 2 7
type: NamedIndividual
type: ROUTE
has parent: Scene
from field: translation_changed
from node: mySensorX
to field: set_translation
to node: mySphereX

ROUTE 2 8
type: NamedIndividual
type: ROUTE
has parent: Scene
from field: translation_changed
from node: mySensorY
to field: set_translation
to node: mySphereY

ROUTE 2 9
type: NamedIndividual
type: ROUTE
has parent: Scene
from field: translation_changed
from node: mySensorZ
to field: set_translation
to node: mySphereZ

ROUTE 2 10
type: NamedIndividual
type: ROUTE
has parent: Scene
from field: translation_changed
from node: mySensorX
to field: xBall
to node: Shader

ROUTE 2 11
type: NamedIndividual
type: ROUTE
has parent: Scene
from field: translation_changed
from node: mySensorY
to field: yBall
to node: Shader

ROUTE 2 12
type: NamedIndividual
type: ROUTE
has parent: Scene
from field: translation_changed
from node: mySensorZ
to field: zBall
to node: Shader