#include <osgDB/Registry>

USE_SERIALIZER_WRAPPER(AlphaFunc)
USE_SERIALIZER_WRAPPER(AnimationPath)
USE_SERIALIZER_WRAPPER(AnimationPathCallback)
USE_SERIALIZER_WRAPPER(AtomicCounterBufferBinding)
USE_SERIALIZER_WRAPPER(AudioSink)
USE_SERIALIZER_WRAPPER(AudioStream)
USE_SERIALIZER_WRAPPER(AutoTransform)
USE_SERIALIZER_WRAPPER(Billboard)
USE_SERIALIZER_WRAPPER(BlendColor)
USE_SERIALIZER_WRAPPER(BlendEquation)
USE_SERIALIZER_WRAPPER(BlendEquationi)
USE_SERIALIZER_WRAPPER(BlendFunc)
USE_SERIALIZER_WRAPPER(BlendFunci)
USE_SERIALIZER_WRAPPER(BoolValueObject)
USE_SERIALIZER_WRAPPER(Box)
USE_SERIALIZER_WRAPPER(BufferData)
USE_SERIALIZER_WRAPPER(BufferIndexBinding)
USE_SERIALIZER_WRAPPER(BufferObject)
USE_SERIALIZER_WRAPPER(Callback)
USE_SERIALIZER_WRAPPER(CallbackObject)
USE_SERIALIZER_WRAPPER(Camera)
USE_SERIALIZER_WRAPPER(CameraView)
USE_SERIALIZER_WRAPPER(Capsule)
USE_SERIALIZER_WRAPPER(ClampColor)
USE_SERIALIZER_WRAPPER(ClearNode)
USE_SERIALIZER_WRAPPER(ClipNode)
USE_SERIALIZER_WRAPPER(ClipControl)
USE_SERIALIZER_WRAPPER(ClipPlane)
USE_SERIALIZER_WRAPPER(ClusterCullingCallback)
USE_SERIALIZER_WRAPPER(ColorMask)
USE_SERIALIZER_WRAPPER(ColorMaski)
USE_SERIALIZER_WRAPPER(ColorMatrix)
USE_SERIALIZER_WRAPPER(CompositeShape)
USE_SERIALIZER_WRAPPER(ComputeBoundingBoxCallback)
USE_SERIALIZER_WRAPPER(ComputeBoundingSphereCallback)
USE_SERIALIZER_WRAPPER(Cone)
USE_SERIALIZER_WRAPPER(ConvexHull)
USE_SERIALIZER_WRAPPER(ConvexPlanarOccluder)
USE_SERIALIZER_WRAPPER(CoordinateSystemNode)
USE_SERIALIZER_WRAPPER(CullFace)
USE_SERIALIZER_WRAPPER(Cylinder)
USE_SERIALIZER_WRAPPER(DefaultUserDataContainer)
USE_SERIALIZER_WRAPPER(Depth)
USE_SERIALIZER_WRAPPER(Drawable)
USE_SERIALIZER_WRAPPER(DrawPixels)
USE_SERIALIZER_WRAPPER(ElementBufferObject)
USE_SERIALIZER_WRAPPER(EllipsoidModel)
USE_SERIALIZER_WRAPPER(Fog)
USE_SERIALIZER_WRAPPER(FragmentProgram)
USE_SERIALIZER_WRAPPER(FrontFace)
USE_SERIALIZER_WRAPPER(Geode)
USE_SERIALIZER_WRAPPER(Geometry)
USE_SERIALIZER_WRAPPER(Group)
USE_SERIALIZER_WRAPPER(HeightField)
USE_SERIALIZER_WRAPPER(Hint)
USE_SERIALIZER_WRAPPER(Image)
USE_SERIALIZER_WRAPPER(ImageSequence)
USE_SERIALIZER_WRAPPER(ImageStream)
USE_SERIALIZER_WRAPPER(Light)
USE_SERIALIZER_WRAPPER(LightModel)
USE_SERIALIZER_WRAPPER(LightSource)
USE_SERIALIZER_WRAPPER(LineStipple)
USE_SERIALIZER_WRAPPER(LineWidth)
USE_SERIALIZER_WRAPPER(LOD)
USE_SERIALIZER_WRAPPER(LogicOp)
USE_SERIALIZER_WRAPPER(Material)
USE_SERIALIZER_WRAPPER(MatrixTransform)
USE_SERIALIZER_WRAPPER(Multisample)
USE_SERIALIZER_WRAPPER(Node)
USE_SERIALIZER_WRAPPER(NodeCallback)
USE_SERIALIZER_WRAPPER(NodeTrackerCallback)
USE_SERIALIZER_WRAPPER(Object)
USE_SERIALIZER_WRAPPER(OccluderNode)
USE_SERIALIZER_WRAPPER(OcclusionQueryNode)
USE_SERIALIZER_WRAPPER(PagedLOD)
USE_SERIALIZER_WRAPPER(PatchParameter)
USE_SERIALIZER_WRAPPER(Point)
USE_SERIALIZER_WRAPPER(PointSprite)
USE_SERIALIZER_WRAPPER(PolygonMode)
USE_SERIALIZER_WRAPPER(PolygonOffset)
USE_SERIALIZER_WRAPPER(PolygonStipple)
USE_SERIALIZER_WRAPPER(PositionAttitudeTransform)
USE_SERIALIZER_WRAPPER(PrimitiveRestartIndex)
USE_SERIALIZER_WRAPPER(Program)
USE_SERIALIZER_WRAPPER(Projection)
USE_SERIALIZER_WRAPPER(ProxyNode)
USE_SERIALIZER_WRAPPER(SampleMaski)
USE_SERIALIZER_WRAPPER(Scissor)
USE_SERIALIZER_WRAPPER(Script)
USE_SERIALIZER_WRAPPER(ScriptNodeCallback)
USE_SERIALIZER_WRAPPER(Sequence)
USE_SERIALIZER_WRAPPER(ShadeModel)
USE_SERIALIZER_WRAPPER(Shader)
USE_SERIALIZER_WRAPPER(ShaderAttribute)
USE_SERIALIZER_WRAPPER(ShaderBinary)
USE_SERIALIZER_WRAPPER(ShaderStorageBufferBinding)
USE_SERIALIZER_WRAPPER(Shape)
USE_SERIALIZER_WRAPPER(ShapeDrawable)
USE_SERIALIZER_WRAPPER(Sphere)
USE_SERIALIZER_WRAPPER(StateAttribute)
USE_SERIALIZER_WRAPPER(StateSet)
USE_SERIALIZER_WRAPPER(Stencil)
USE_SERIALIZER_WRAPPER(StencilTwoSided)
USE_SERIALIZER_WRAPPER(Switch)
USE_SERIALIZER_WRAPPER(TessellationHints)
USE_SERIALIZER_WRAPPER(TexEnv)
USE_SERIALIZER_WRAPPER(TexEnvCombine)
USE_SERIALIZER_WRAPPER(TexEnvFilter)
USE_SERIALIZER_WRAPPER(TexGen)
USE_SERIALIZER_WRAPPER(TexGenNode)
USE_SERIALIZER_WRAPPER(TexMat)
USE_SERIALIZER_WRAPPER(Texture)
USE_SERIALIZER_WRAPPER(Texture1D)
USE_SERIALIZER_WRAPPER(Texture2D)
USE_SERIALIZER_WRAPPER(Texture2DArray)
USE_SERIALIZER_WRAPPER(Texture3D)
USE_SERIALIZER_WRAPPER(TextureBuffer)
USE_SERIALIZER_WRAPPER(TextureCubeMap)
USE_SERIALIZER_WRAPPER(TextureRectangle)
USE_SERIALIZER_WRAPPER(TransferFunction)
USE_SERIALIZER_WRAPPER(TransferFunction1D)
USE_SERIALIZER_WRAPPER(Transform)
USE_SERIALIZER_WRAPPER(TransformFeedbackBufferBinding)
USE_SERIALIZER_WRAPPER(TriangleMesh)
USE_SERIALIZER_WRAPPER(Uniform)
USE_SERIALIZER_WRAPPER(UniformBufferBinding)
USE_SERIALIZER_WRAPPER(UniformCallback)
USE_SERIALIZER_WRAPPER(UpdateCallback)
USE_SERIALIZER_WRAPPER(UserDataContainer)
USE_SERIALIZER_WRAPPER(VertexAttribDivisor)
USE_SERIALIZER_WRAPPER(VertexBufferObject)
USE_SERIALIZER_WRAPPER(VertexProgram)
USE_SERIALIZER_WRAPPER(Viewport)

// Arrays
USE_SERIALIZER_WRAPPER(Array)
USE_SERIALIZER_WRAPPER(FloatArray)
USE_SERIALIZER_WRAPPER(Vec2Array)
USE_SERIALIZER_WRAPPER(Vec3Array)
USE_SERIALIZER_WRAPPER(Vec4Array)

USE_SERIALIZER_WRAPPER(DoubleArray)
USE_SERIALIZER_WRAPPER(Vec2dArray)
USE_SERIALIZER_WRAPPER(Vec3dArray)
USE_SERIALIZER_WRAPPER(Vec4dArray)

USE_SERIALIZER_WRAPPER(ByteArray)
USE_SERIALIZER_WRAPPER(Vec2bArray)
USE_SERIALIZER_WRAPPER(Vec3bArray)
USE_SERIALIZER_WRAPPER(Vec4bArray)

USE_SERIALIZER_WRAPPER(UByteArray)
USE_SERIALIZER_WRAPPER(Vec2ubArray)
USE_SERIALIZER_WRAPPER(Vec3ubArray)
USE_SERIALIZER_WRAPPER(Vec4ubArray)

USE_SERIALIZER_WRAPPER(ShortArray)
USE_SERIALIZER_WRAPPER(Vec2sArray)
USE_SERIALIZER_WRAPPER(Vec3sArray)
USE_SERIALIZER_WRAPPER(Vec4sArray)

USE_SERIALIZER_WRAPPER(UShortArray)
USE_SERIALIZER_WRAPPER(Vec2usArray)
USE_SERIALIZER_WRAPPER(Vec3usArray)
USE_SERIALIZER_WRAPPER(Vec4usArray)

USE_SERIALIZER_WRAPPER(IntArray)
USE_SERIALIZER_WRAPPER(Vec2iArray)
USE_SERIALIZER_WRAPPER(Vec3iArray)
USE_SERIALIZER_WRAPPER(Vec4iArray)

USE_SERIALIZER_WRAPPER(UIntArray)
USE_SERIALIZER_WRAPPER(Vec2uiArray)
USE_SERIALIZER_WRAPPER(Vec3uiArray)
USE_SERIALIZER_WRAPPER(Vec4uiArray)

// PrimitiveSets
USE_SERIALIZER_WRAPPER(PrimitiveSet)
USE_SERIALIZER_WRAPPER(DrawArrays)
USE_SERIALIZER_WRAPPER(DrawArrayLengths)
USE_SERIALIZER_WRAPPER(DrawElementsUByte)
USE_SERIALIZER_WRAPPER(DrawElementsUShort)
USE_SERIALIZER_WRAPPER(DrawElementsUInt)

#ifdef OSG_HAS_MULTIDRAWARRAYS
USE_SERIALIZER_WRAPPER(MultiDrawArrays)
#endif

// PrimitiveSetIndirect
USE_SERIALIZER_WRAPPER(IndirectCommandDrawArrays)
USE_SERIALIZER_WRAPPER(IndirectCommandDrawElements)
USE_SERIALIZER_WRAPPER(osgDefaultIndirectCommandDrawArrays)
USE_SERIALIZER_WRAPPER(osgDefaultIndirectCommandDrawElements)
USE_SERIALIZER_WRAPPER(DrawArraysIndirect)
USE_SERIALIZER_WRAPPER(MultiDrawArraysIndirect)
USE_SERIALIZER_WRAPPER(DrawElementsIndirect)
USE_SERIALIZER_WRAPPER(DrawElementsIndirectUByte)
USE_SERIALIZER_WRAPPER(DrawElementsIndirectUShort)
USE_SERIALIZER_WRAPPER(DrawElementsIndirectUInt)

extern "C" void wrapper_serializer_library_osg(void) {}

