<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
<X3D profile='Immersive' version='4.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'>
  <head>
    <component level='3' name='Shape'/>
    <meta content='BasicPointSprites.x3d' name='title'/>
    <meta content='PointProperties test case emulating spherical point sprites by displaying colored images of spheres. This model is suitable for X3Dv4 implementation comparisons and conformance.' name='description'/>
    <meta content='Vince Marchetti' name='creator'/>
    <meta content='1 May 2019' name='created'/>
    <meta content='5 December 2025' name='modified'/>
    <meta content='https://www.web3d.org/x3dv4-implementations' name='reference'/>
    <meta content='X3D 4.0 Architecture, ISO/IEC 19775-1:2023, clause 12 Shape component, 12.4.7 PointProperties' name='specificationSection'/>
    <meta content='https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/shape.html#PointProperties' name='specificationUrl'/>
    <meta content='X3Dv4.0' name='requires'/>
    <meta content='Copyright (c) Web3D Consortium Inc. 2006 to present' name='rights'/>
    <meta content='PointProperties test' name='subject'/>
    <meta content='originals/basic_point_sprites.x3d' name='reference'/>
    <meta content='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Basic/Points/BasicPointSprites.x3d' name='identifier'/>
    <meta content='../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='BasicPointSprites.x3d'/>
    <Viewpoint description='Entry view'/>
    <Transform translation='-2 0 0'>
      <Viewpoint DEF='PointProperties1imagespritefar' description='left ball of spherical sprites, 10m distance'/>
      <Viewpoint DEF='PointProperties1imagespritenear' description='left ball of spherical sprites, 5m distance' position='0 0 5'/>
      <Shape>
        <Appearance DEF='PointProperties1'>
          <PointProperties attenuation='1 0.01 0.1' containerField='pointProperties' pointSizeMaxValue='100' pointSizeMinValue='5' pointSizeScaleFactor='100'/>
          <!-- X3Dv3.3 ImageTexture has no effect on points, X3Dv4.0 each point is replaced by an image sprite -->
          <ImageTexture url='"images/sphere.png" "https://www.web3d.org/x3d/content/examples/Basic/Points/images/sphere.png"'/>
        </Appearance>
        <PointSet>
          <Coordinate DEF='PointCoordinates' point='1 0 0 0.970142 0.242536 0 0.970142 0 0.242536 0.904534 0.301511 0.301511 0.83205 0 0.5547 0.666667 0.333333 0.666667 0.5547 0 0.83205 0.301511 0.301511 0.904534 0.242536 0 0.970142 0 0.242536 0.970142 0 0 1 0.83205 0.5547 0 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0 0.5547 0.83205 0.5547 0.83205 0 0.301511 0.904534 0.301511 0 0.83205 0.5547 0.242536 0.970142 0 0 0.970142 0.242536 0 1 0 -0.242536 0 0.970142 -0.301511 0.301511 0.904534 -0.5547 0 0.83205 -0.666667 0.333333 0.666667 -0.83205 0 0.5547 -0.904534 0.301511 0.301511 -0.970142 0 0.242536 -0.970142 0.242536 0 -1 0 0 -0.333333 0.666667 0.666667 -0.666667 0.666667 0.333333 -0.83205 0.5547 0 -0.301511 0.904534 0.301511 -0.5547 0.83205 0 -0.242536 0.970142 0 0 -0.242536 0.970142 0.301511 -0.301511 0.904534 0.666667 -0.333333 0.666667 0.904534 -0.301511 0.301511 0.970142 -0.242536 0 0 -0.5547 0.83205 0.333333 -0.666667 0.666667 0.666667 -0.666667 0.333333 0.83205 -0.5547 0 0 -0.83205 0.5547 0.301511 -0.904534 0.301511 0.5547 -0.83205 0 0 -0.970142 0.242536 0.242536 -0.970142 0 0 -1 0 -0.970142 -0.242536 0 -0.904534 -0.301511 0.301511 -0.666667 -0.333333 0.666667 -0.301511 -0.301511 0.904534 -0.83205 -0.5547 0 -0.666667 -0.666667 0.333333 -0.333333 -0.666667 0.666667 -0.5547 -0.83205 0 -0.301511 -0.904534 0.301511 -0.242536 -0.970142 0 0 0 -1 0 0.242536 -0.970142 0.242536 0 -0.970142 0.301511 0.301511 -0.904534 0.5547 0 -0.83205 0.666667 0.333333 -0.666667 0.83205 0 -0.5547 0.904534 0.301511 -0.301511 0.970142 0 -0.242536 0 0.5547 -0.83205 0.333333 0.666667 -0.666667 0.666667 0.666667 -0.333333 0 0.83205 -0.5547 0.301511 0.904534 -0.301511 0 0.970142 -0.242536 -0.970142 0 -0.242536 -0.904534 0.301511 -0.301511 -0.83205 0 -0.5547 -0.666667 0.333333 -0.666667 -0.5547 0 -0.83205 -0.301511 0.301511 -0.904534 -0.242536 0 -0.970142 -0.666667 0.666667 -0.333333 -0.333333 0.666667 -0.666667 -0.301511 0.904534 -0.301511 0.904534 -0.301511 -0.301511 0.666667 -0.333333 -0.666667 0.301511 -0.301511 -0.904534 0 -0.242536 -0.970142 0.666667 -0.666667 -0.333333 0.333333 -0.666667 -0.666667 0 -0.5547 -0.83205 0.301511 -0.904534 -0.301511 0 -0.83205 -0.5547 0 -0.970142 -0.242536 -0.301511 -0.301511 -0.904534 -0.666667 -0.333333 -0.666667 -0.904534 -0.301511 -0.301511 -0.333333 -0.666667 -0.666667 -0.666667 -0.666667 -0.333333 -0.301511 -0.904534 -0.301511'>
            <!-- point array (102 tuples, 306 total floats) has open geometry with distinct endpoints -->
          </Coordinate>
          <Color DEF='PointColors' color='1 0 0 0.970142 0.242536 0 0.970142 0 0.242536 0.904534 0.301511 0.301511 0.83205 0 0.5547 0.666667 0.333333 0.666667 0.5547 0 0.83205 0.301511 0.301511 0.904534 0.242536 0 0.970142 0 0.242536 0.970142 0 0 1 0.83205 0.5547 0 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0 0.5547 0.83205 0.5547 0.83205 0 0.301511 0.904534 0.301511 0 0.83205 0.5547 0.242536 0.970142 0 0 0.970142 0.242536 0 1 0 0.242536 0 0.970142 0.301511 0.301511 0.904534 0.5547 0 0.83205 0.666667 0.333333 0.666667 0.83205 0 0.5547 0.904534 0.301511 0.301511 0.970142 0 0.242536 0.970142 0.242536 0 1 0 0 0.333333 0.666667 0.666667 0.666667 0.666667 0.333333 0.83205 0.5547 0 0.301511 0.904534 0.301511 0.5547 0.83205 0 0.242536 0.970142 0 0 0.242536 0.970142 0.301511 0.301511 0.904534 0.666667 0.333333 0.666667 0.904534 0.301511 0.301511 0.970142 0.242536 0 0 0.5547 0.83205 0.333333 0.666667 0.666667 0.666667 0.666667 0.333333 0.83205 0.5547 0 0 0.83205 0.5547 0.301511 0.904534 0.301511 0.5547 0.83205 0 0 0.970142 0.242536 0.242536 0.970142 0 0 1 0 0.970142 0.242536 0 0.904534 0.301511 0.301511 0.666667 0.333333 0.666667 0.301511 0.301511 0.904534 0.83205 0.5547 0 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0.5547 0.83205 0 0.301511 0.904534 0.301511 0.242536 0.970142 0 0 0 1 0 0.242536 0.970142 0.242536 0 0.970142 0.301511 0.301511 0.904534 0.5547 0 0.83205 0.666667 0.333333 0.666667 0.83205 0 0.5547 0.904534 0.301511 0.301511 0.970142 0 0.242536 0 0.5547 0.83205 0.333333 0.666667 0.666667 0.666667 0.666667 0.333333 0 0.83205 0.5547 0.301511 0.904534 0.301511 0 0.970142 0.242536 0.970142 0 0.242536 0.904534 0.301511 0.301511 0.83205 0 0.5547 0.666667 0.333333 0.666667 0.5547 0 0.83205 0.301511 0.301511 0.904534 0.242536 0 0.970142 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0.301511 0.904534 0.301511 0.904534 0.301511 0.301511 0.666667 0.333333 0.666667 0.301511 0.301511 0.904534 0 0.242536 0.970142 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0 0.5547 0.83205 0.301511 0.904534 0.301511 0 0.83205 0.5547 0 0.970142 0.242536 0.301511 0.301511 0.904534 0.666667 0.333333 0.666667 0.904534 0.301511 0.301511 0.333333 0.666667 0.666667 0.666667 0.666667 0.333333 0.301511 0.904534 0.301511'/>
        </PointSet>
      </Shape>
    </Transform>
    <Transform translation='2 0 0'>
      <!-- what do we want to show? -->
      <Viewpoint DEF='PointProperties2far' description='right ball of spherical sprites, 10m distance'/>
      <Viewpoint DEF='PointProperties2near' description='right ball of spherical sprites, 5m distance' position='0 0 5'/>
      <Shape>
        <PointSet>
          <Coordinate point='1 0 0 0.970142 0.242536 0 0.970142 0 0.242536 0.904534 0.301511 0.301511 0.83205 0 0.5547 0.666667 0.333333 0.666667 0.5547 0 0.83205 0.301511 0.301511 0.904534 0.242536 0 0.970142 0 0.242536 0.970142 0 0 1 0.83205 0.5547 0 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0 0.5547 0.83205 0.5547 0.83205 0 0.301511 0.904534 0.301511 0 0.83205 0.5547 0.242536 0.970142 0 0 0.970142 0.242536 0 1 0 -0.242536 0 0.970142 -0.301511 0.301511 0.904534 -0.5547 0 0.83205 -0.666667 0.333333 0.666667 -0.83205 0 0.5547 -0.904534 0.301511 0.301511 -0.970142 0 0.242536 -0.970142 0.242536 0 -1 0 0 -0.333333 0.666667 0.666667 -0.666667 0.666667 0.333333 -0.83205 0.5547 0 -0.301511 0.904534 0.301511 -0.5547 0.83205 0 -0.242536 0.970142 0 0 -0.242536 0.970142 0.301511 -0.301511 0.904534 0.666667 -0.333333 0.666667 0.904534 -0.301511 0.301511 0.970142 -0.242536 0 0 -0.5547 0.83205 0.333333 -0.666667 0.666667 0.666667 -0.666667 0.333333 0.83205 -0.5547 0 0 -0.83205 0.5547 0.301511 -0.904534 0.301511 0.5547 -0.83205 0 0 -0.970142 0.242536 0.242536 -0.970142 0 0 -1 0 -0.970142 -0.242536 0 -0.904534 -0.301511 0.301511 -0.666667 -0.333333 0.666667 -0.301511 -0.301511 0.904534 -0.83205 -0.5547 0 -0.666667 -0.666667 0.333333 -0.333333 -0.666667 0.666667 -0.5547 -0.83205 0 -0.301511 -0.904534 0.301511 -0.242536 -0.970142 0 0 0 -1 0 0.242536 -0.970142 0.242536 0 -0.970142 0.301511 0.301511 -0.904534 0.5547 0 -0.83205 0.666667 0.333333 -0.666667 0.83205 0 -0.5547 0.904534 0.301511 -0.301511 0.970142 0 -0.242536 0 0.5547 -0.83205 0.333333 0.666667 -0.666667 0.666667 0.666667 -0.333333 0 0.83205 -0.5547 0.301511 0.904534 -0.301511 0 0.970142 -0.242536 -0.970142 0 -0.242536 -0.904534 0.301511 -0.301511 -0.83205 0 -0.5547 -0.666667 0.333333 -0.666667 -0.5547 0 -0.83205 -0.301511 0.301511 -0.904534 -0.242536 0 -0.970142 -0.666667 0.666667 -0.333333 -0.333333 0.666667 -0.666667 -0.301511 0.904534 -0.301511 0.904534 -0.301511 -0.301511 0.666667 -0.333333 -0.666667 0.301511 -0.301511 -0.904534 0 -0.242536 -0.970142 0.666667 -0.666667 -0.333333 0.333333 -0.666667 -0.666667 0 -0.5547 -0.83205 0.301511 -0.904534 -0.301511 0 -0.83205 -0.5547 0 -0.970142 -0.242536 -0.301511 -0.301511 -0.904534 -0.666667 -0.333333 -0.666667 -0.904534 -0.301511 -0.301511 -0.333333 -0.666667 -0.666667 -0.666667 -0.666667 -0.333333 -0.301511 -0.904534 -0.301511'/>
          <Color color='1 0 0 0.970142 0.242536 0 0.970142 0 0.242536 0.904534 0.301511 0.301511 0.83205 0 0.5547 0.666667 0.333333 0.666667 0.5547 0 0.83205 0.301511 0.301511 0.904534 0.242536 0 0.970142 0 0.242536 0.970142 0 0 1 0.83205 0.5547 0 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0 0.5547 0.83205 0.5547 0.83205 0 0.301511 0.904534 0.301511 0 0.83205 0.5547 0.242536 0.970142 0 0 0.970142 0.242536 0 1 0 0.242536 0 0.970142 0.301511 0.301511 0.904534 0.5547 0 0.83205 0.666667 0.333333 0.666667 0.83205 0 0.5547 0.904534 0.301511 0.301511 0.970142 0 0.242536 0.970142 0.242536 0 1 0 0 0.333333 0.666667 0.666667 0.666667 0.666667 0.333333 0.83205 0.5547 0 0.301511 0.904534 0.301511 0.5547 0.83205 0 0.242536 0.970142 0 0 0.242536 0.970142 0.301511 0.301511 0.904534 0.666667 0.333333 0.666667 0.904534 0.301511 0.301511 0.970142 0.242536 0 0 0.5547 0.83205 0.333333 0.666667 0.666667 0.666667 0.666667 0.333333 0.83205 0.5547 0 0 0.83205 0.5547 0.301511 0.904534 0.301511 0.5547 0.83205 0 0 0.970142 0.242536 0.242536 0.970142 0 0 1 0 0.970142 0.242536 0 0.904534 0.301511 0.301511 0.666667 0.333333 0.666667 0.301511 0.301511 0.904534 0.83205 0.5547 0 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0.5547 0.83205 0 0.301511 0.904534 0.301511 0.242536 0.970142 0 0 0 1 0 0.242536 0.970142 0.242536 0 0.970142 0.301511 0.301511 0.904534 0.5547 0 0.83205 0.666667 0.333333 0.666667 0.83205 0 0.5547 0.904534 0.301511 0.301511 0.970142 0 0.242536 0 0.5547 0.83205 0.333333 0.666667 0.666667 0.666667 0.666667 0.333333 0 0.83205 0.5547 0.301511 0.904534 0.301511 0 0.970142 0.242536 0.970142 0 0.242536 0.904534 0.301511 0.301511 0.83205 0 0.5547 0.666667 0.333333 0.666667 0.5547 0 0.83205 0.301511 0.301511 0.904534 0.242536 0 0.970142 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0.301511 0.904534 0.301511 0.904534 0.301511 0.301511 0.666667 0.333333 0.666667 0.301511 0.301511 0.904534 0 0.242536 0.970142 0.666667 0.666667 0.333333 0.333333 0.666667 0.666667 0 0.5547 0.83205 0.301511 0.904534 0.301511 0 0.83205 0.5547 0 0.970142 0.242536 0.301511 0.301511 0.904534 0.666667 0.333333 0.666667 0.904534 0.301511 0.301511 0.333333 0.666667 0.666667 0.666667 0.666667 0.333333 0.301511 0.904534 0.301511'/>
        </PointSet>
        <Appearance USE='PointProperties1'/>
      </Shape>
    </Transform>
  </Scene>
</X3D>