[Pkg-pascal-devel] Castle Game Engine 6.0 release in Debian
Michalis Kamburelis
michalis.kambi at gmail.com
Tue Mar 14 05:49:10 UTC 2017
2017-03-14 6:46 GMT+01:00 Michalis Kamburelis <michalis.kambi at gmail.com>:
> Workaround for now: Get the attached x3d_extensions.txt . Place it
> alongside the generate_x3d_nodes_to_pascal sources, and then run it
> like
I forgot to attach the "x3d_extensions.txt". Here it is.
Michalis
-------------- next part --------------
# Specification of extensions from
# https://castle-engine.sourceforge.io/x3d_extensions.php
# in the format comfortable for white dune scripts
# and also for out own castle_game_engine/src/x3d/doc/generate_x3d_nodes_to_pascal.lpr .
#
# Do *not* list here fields inherited from ancestor nodes.
Appearance : X3DAppearanceNode {
... all normal Appearance fields ...
MFNode [] receiveShadows [] # [X3DLightNode] list
SFBool [in,out] shadowCaster TRUE
SFNode [in,out] normalMap NULL # only texture nodes (ImageTexture, MovieTexture, PixelTexture) allowed
SFNode [in,out] heightMap NULL # only texture nodes (ImageTexture, MovieTexture, PixelTexture) allowed
SFFloat [in,out] heightMapScale 0.01 # must be > 0, meaningful only if heightMap specified
SFNode [in,out] blendMode NULL # [BlendMode]
MFNode [] effects [] # [Effect]
}
# Now we just add all new fields to the standard "Appearance" node,
# no need to use "KambiAppearance".
# Some reasons: we describe in shadow_maps_x3d paper
# our propositions for Appearance (without introducing KambiAppearance,
# as (in the future) these should not be specific to our engine),
# also InstantReality already has Appearance.blendMode.
#
# You can however use KambiAppearance in your models, this allows you
# to declare KambiAppearance by EXTERNPROTO and fallback on standard
# Appearance.
KambiAppearance : Appearance {
... all Appearance fields (with our extensions, see above) ...
}
# For castle_game_engine/src/x3d/doc/generate_x3d_nodes_to_pascal.lpr,
# these extensions are inside castle_game_engine/src/x3d/doc/ txt files.
### X3DLightNode : X3DChildNode {
### ... all normal X3DLightNode fields ...
### SFBool [] shadows FALSE
### SFBool [in,out] shadowVolumes FALSE
### SFBool [in,out] shadowVolumesMain FALSE # meaningfull only when shadowVolumes = TRUE
### SFFloat [in,out] projectionNear 1 # > 0
### SFFloat [in,out] projectionFar 100 # anything > projectionNear
### SFVec3f [in,out] up 0 1 0
### SFNode [] defaultShadowMap NULL # [GeneratedShadowMap]
### MFNode [] effects [] # [Effect]
### }
X3DTextureNode : X3DAppearanceChildNode {
... all normal X3DTextureNode fields ...
MFNode [] effects [] # [Effect]
}
# For castle_game_engine/src/x3d/doc/generate_x3d_nodes_to_pascal.lpr,
# these extensions are inside castle_game_engine/src/x3d/doc/ txt files.
### DirectionalLight : X3DLightNode {
### ... all normal DirectionalLight fields ...
### SFVec4f [in,out] projectionRectangle -10 10 -10 10 # left, right, bottom, top; must be left < right and bottom < top
### SFVec3f [in,out] projectionLocation 0 0 0 # affected by node's transformation
### }
# For castle_game_engine/src/x3d/doc/generate_x3d_nodes_to_pascal.lpr,
# these extensions are inside castle_game_engine/src/x3d/doc/ txt files.
### SpotLight : X3DLightNode {
### ... all normal SpotLight fields ...
### SFFloat [in,out] projectionAngle 0
### }
GeneratedShadowMap : X3DTextureNode {
SFString [in,out] update "NONE" # ["NONE"|"NEXT_FRAME_ONLY"|"ALWAYS"]
SFInt32 [] size 128
SFNode [] light NULL # [X3DLightNode]
SFFloat [in,out] scale 4.0
SFFloat [in,out] bias 4.0
SFString [] compareMode "COMPARE_R_LEQUAL" # ["COMPARE_R_LEQUAL"|"COMPARE_R_GEQUAL"|"NONE"]
}
# For castle_game_engine/src/x3d/doc/generate_x3d_nodes_to_pascal.lpr,
# these extensions are inside castle_game_engine/src/x3d/doc/ txt files.
### X3DViewpointNode : X3DBindableNode {
### ... all normal X3DViewpointNode fields ...
### SFMatrix4f [out] cameraMatrix
### SFMatrix4f [out] cameraInverseMatrix
### SFMatrix3f [out] cameraRotationMatrix
### SFMatrix3f [out] cameraRotationInverseMatrix
### SFBool [in,out] cameraMatrixSendAlsoOnOffscreenRendering FALSE
### MFVec3f [in,out] direction []
### MFVec3f [in,out] up []
### SFVec3f [in,out] gravityUp 0 1 0
### }
Text3D : X3DGeometryNode {
MFString [in,out] string []
SFNode [in,out] fontStyle NULL
MFFloat [in,out] length []
SFFloat [in,out] maxExtent 0
SFFloat [in,out] depth 0.1 # must be >= 0
SFBool [in,out] solid TRUE
}
X3DTexture2DNode : X3DAppearanceChildNode {
... all normal X3DTexture2DNode fields ...
SFString [] alphaChannel "AUTO" # ["AUTO"|"NONE"|"TEST"|"BLENDING"]
}
KambiInline : Inline {
... all normal Inline fields ...
MFString [in,out] replaceNames []
MFNode [in,out] replaceNodes [] # any VRML/X3D node is valid on this list
}
KambiNavigationInfo : NavigationInfo {
... all normal NavigationInfo fields ...
SFBool [] timeOriginAtLoad FALSE
SFNode [] octreeRendering NULL # only KambiOctreeProperties node
SFNode [] octreeDynamicCollisions NULL # only KambiOctreeProperties node
SFNode [] octreeVisibleTriangles NULL # only KambiOctreeProperties node
SFNode [] octreeStaticCollisions NULL # only KambiOctreeProperties node
SFFloat [in,out] headBobbing 0.02 # [0, 1)
SFFloat [in,out] headBobbingTime 0.5 # > 0
SFNode [in,out] headlightNode NULL # [X3DLightNode]
}
X3DComposedGeometryNode : X3DGeometryNode {
... all normal X3DComposedGeometryNode fields ...
MFVec3f [in,out] radianceTransfer []
}
X3DFogObject {
... all normal X3DFogObject (Fog, LocalFog in spec) fields ...
SFBool [in,out] volumetric FALSE
SFVec3f [in,out] volumetricDirection 0 -1 0 # any non-zero vector
SFFloat [in,out] volumetricVisibilityStart 0
}
# For castle_game_engine/src/x3d/doc/generate_x3d_nodes_to_pascal.lpr,
# these extensions are inside castle_game_engine/src/x3d/doc/ txt files.
### Material : X3DMaterialNode {
### ... all normal Material fields ...
### SFFloat [in,out] mirror 0.0 # [0.0; 1.0]
### MFColor [in,out] reflSpecular [] # specular reflectance
### MFColor [in,out] reflDiffuse [] # diffuse reflectance
### MFColor [in,out] transSpecular [] # specular transmittance
### MFColor [in,out] transDiffuse [] # diffuse transmittance
### SFFloat [in,out] reflSpecularExp 1000000 # specular reflectance exponent
### SFFloat [in,out] transSpecularExp 1000000 # specular transmittance exponent
### }
KambiHeadLight : X3DChildNode {
SFFloat [in,out] ambientIntensity 0 # [0.0, 1.0]
SFVec3f [in,out] attenuation 1 0 0 # [0, infinity)
SFColor [in,out] color 1 1 1 # [0, 1]
SFFloat [in,out] intensity 1 # [0, 1]
SFBool [in,out] spot FALSE
SFFloat [in,out] spotDropOffRate 0
SFFloat [in,out] spotCutOffAngle 0.785398
}
KambiOctreeProperties : X3DNode {
SFInt32 [] maxDepth -1 # must be >= -1
SFInt32 [] leafCapacity -1 # must be >= -1
}
# For castle_game_engine/src/x3d/doc/generate_x3d_nodes_to_pascal.lpr,
# these extensions are inside castle_game_engine/src/x3d/doc/ txt files.
### X3DShapeNode : X3DChildNode, X3DBoundedObject {
### ... all normal X3DShapeNode fields ...
### SFString [in,out] shading "DEFAULT" # ["DEFAULT"|"PHONG"|"WIREFRAME"]
### SFNode [] octreeTriangles NULL # only KambiOctreeProperties node
### SFBool [in,out] render TRUE
### }
Teapot : X3DGeometryNode {
SFVec3f [] size 3 3 3
SFBool [] solid TRUE
SFBool [] manifold FALSE
SFNode [in,out] texCoord NULL # [TextureCoordinateGenerator, ProjectedTextureCoordinate, MultiGeneratedTextureCoordinate]
}
RenderedTexture : X3DTextureNode {
MFInt32 [in,out] dimensions 128 128 4 1 1
SFString [in,out] update "NONE" # ["NONE"|"NEXT_FRAME_ONLY"|"ALWAYS"]
SFNode [in,out] viewpoint NULL # [X3DViewpointNode] (VRML 1.0 camera nodes also allowed)
SFNode [] textureProperties NULL # [TextureProperties]
SFBool [] repeatS TRUE
SFBool [] repeatT TRUE
SFBool [] repeatR TRUE
MFBool [in,out] depthMap []
}
Logger : X3DChildNode {
SFInt32 [in,out] level 1
SFString [] logFile ""
SFBool [in,out] enabled TRUE
XFAny [in] write
}
MultiGeneratedTextureCoordinate : X3DTextureCoordinateNode {
SFNode [in,out] metadata NULL [X3DMetadataObject]
MFNode [in,out] texCoord NULL [TextureCoordinateGenerator, ProjectedTextureCoordinate]
}
# For castle_game_engine/src/x3d/doc/generate_x3d_nodes_to_pascal.lpr,
# these extensions are inside castle_game_engine/src/x3d/doc/ txt files.
### Box : X3DGeometryNode {
### ... all normal Box fields ...
### SFNode [in,out] texCoord NULL # [TextureCoordinateGenerator, ProjectedTextureCoordinate, MultiGeneratedTextureCoordinate]
### SFInt32 [in,out] divisions -1 # [-1, infinity)
### }
###
### Cone : X3DGeometryNode {
### ... all normal Cone fields ...
### SFNode [in,out] texCoord NULL # [TextureCoordinateGenerator, ProjectedTextureCoordinate, MultiGeneratedTextureCoordinate]
### SFInt32 [in,out] slices -1 # {-1} + [3, infinity)
### SFInt32 [in,out] stacks -1 # {-1} + [2, infinity)
### }
###
### Cylinder : X3DGeometryNode {
### ... all normal Cylinder fields ...
### SFNode [in,out] texCoord NULL # [TextureCoordinateGenerator, ProjectedTextureCoordinate, MultiGeneratedTextureCoordinate]
### SFInt32 [in,out] slices -1 # {-1} + [3, infinity)
### SFInt32 [in,out] stacks -1 # {-1} + [2, infinity)
### }
###
### Sphere : X3DGeometryNode {
### ... all normal Sphere fields ...
### SFNode [in,out] texCoord NULL # [TextureCoordinateGenerator, ProjectedTextureCoordinate, MultiGeneratedTextureCoordinate]
### SFInt32 [in,out] slices -1 # {-1} + [3, infinity)
### SFInt32 [in,out] stacks -1 # {-1} + [2, infinity)
### }
###
### Circle2D : X3DGeometryNode {
### ... all normal Circle2D fields ...
### SFInt32 [in,out] slices -1 # {-1} + [3, infinity)
### }
Extrusion : X3DGeometryNode {
... all normal Cone fields ...
SFNode [in,out] texCoord NULL # [TextureCoordinateGenerator, ProjectedTextureCoordinate, MultiGeneratedTextureCoordinate]
}
ProjectedTextureCoordinate : X3DTextureCoordinateNode {
SFNode [in,out] projector NULL # [SpotLight, DirectionalLight, X3DViewpointNode]
}
# See https://castle-engine.sourceforge.io/x3d_extensions_screen_effects.php
ScreenEffect : X3DChildNode {
SFBool [in,out] enabled TRUE
SFBool [in,out] needsDepth FALSE
MFNode [in,out] shaders [] # [X3DShaderNode]
}
# See https://castle-engine.sourceforge.io/x3d_implementation_interpolation.php
ColorSetInterpolator : X3DInterpolatorNode {
... all normal X3DInterpolatorNode fields ...
MFColor [in,out] keyValue []
MFColor [out] value_changed
}
VectorInterpolator : X3DInterpolatorNode {
... all normal X3DInterpolatorNode fields ...
MFFloat [in,out] keyValue []
MFFloat [out] value_changed
}
# See https://castle-engine.sourceforge.io/compositing_shaders.php for Effect etc. docs
Effect : X3DChildNode {
SFString [] language "" # ["CG"|"GLSL"|"HLSL"] ; allowed values like ComposedShader.language
SFBool [in,out] enabled TRUE
MFNode [] parts [] # [EffectPart]
# And any number of uniform variables, just like for ComposedShader node:
fieldType [] fieldName
fieldType [in] fieldName
fieldType [out] fieldName
fieldType [in,out] fieldName
}
EffectPart : X3DNode, X3DUrlObject {
# for XML encoding, default containerField: parts
MFString [] url [] # (may be changed to [in,out] one day)
SFString [] type "VERTEX" # ["VERTEX"|"FRAGMENT"]
}
ShaderTexture : X3DTextureNode {
MFNode [] effects [] # [Effect]; defined in X3DTextureNode
SFString [] defaultTexCoord "BOUNDS2D" # ["BOUNDS2D"|"BOUNDS3D"]
}
# See https://castle-engine.sourceforge.io/x3d_extensions.php#section_ext_blending
BlendMode {
SFString [in,out] srcFactor "src_alpha" # [none, zero, one, dst_color, src_color, one_minus_dst_color, one_minus_src_color, src_alpha, one_minus_src_alpha, dst_alpha, one_minus_dst_alpha, src_alpha_saturate, constant_color, one_minus_constant_color, constant_alpha, one_minus_constant_alpha]
SFString [in,out] destFactor "one_minus_src_alpha" # [none, zero, one, dst_color, src_color, one_minus_dst_color, one_minus_src_color, src_alpha, one_minus_src_alpha, dst_alpha, one_minus_dst_alpha, src_alpha_saturate, constant_color, one_minus_constant_color, constant_alpha, one_minus_constant_alpha]
SFColor [in,out] color 1 1 1
SFFloat [in,out] colorTransparency 0
}
# See https://castle-engine.sourceforge.io/x3d_implementation_eventutilities_extensions.php
Toggler : X3DChildNode {
SFBool [in,out] status FALSE
SFBool [in,out] notStatus TRUE
XFAny [in] toggle # the type/value send here is ignored
XFAny [in] set # the type/value send here is ignored
XFAny [in] reset # the type/value send here is ignored
SFBool [out] changed # always sends TRUE
SFBool [out] on # always sends TRUE
SFBool [out] off # always sends TRUE
SFBool [in,out] enabled TRUE
}
More information about the Pkg-pascal-devel
mailing list