.. role:: raw-html(raw)
    :format: html

.. |supported| image:: ../../_assets/images/green_circle.png
   
.. |na| image:: ../../_assets/images/grey_circle.png
   
.. |unsupported| image:: ../../_assets/images/red_circle.png
   
.. |partialsupport| image:: ../../_assets/images/gray_green_circle.png

###############
HPS 2021 SP1
###############


Library compatibility information
---------------------------------

.. only:: not spatial

	.. csv-table::
		:header: "Library name", "Version", "Windows", "Linux", "OS X", "Android", "iOS", "Notes"
		
		"HOOPS Exchange", "2021 SP1", |supported|, |supported|, |supported|, |supported|, |supported|, "Android simulator support is limited. See this :ref:`explanation <prog_guide/0906_exchange_integration:Important note for Android developers>`."
		"HOOPS Publish", "2021 SP1", |supported|, |supported|, |unsupported|, |unsupported|, |unsupported|, "Requires SSSE3 instruction set support, Linux support is limited to C++"
		"HOOPS Communicator Sprocket", "2021 U1", |supported|, |unsupported|, |unsupported|, |supported|, |supported|, ""
		".NET Framework", "4.0", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "4.5 required when using D3D_IMAGE_CANVAS"
		"Parasolid", "32.0.x", |supported|, |supported|, |supported|, |unsupported|, |supported|, "For iOS platforms, support is limited to 64-bit platforms for the Parasolid Sprockets (hps_sprk_parasolid and hps_sprk_exchange_parasolid)."
		"RealDWG", "2019", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "RealDWG 2019 works with Visual Studio 2017 Update 2 and Visual Studio 2015 Update 3"
		"Qt", "5.12.7", |supported|, |supported|, |supported|, |unsupported|, |unsupported|, ""
		"SketchUp", "2021", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "VS2019 Redistributable required, and only x64 Sketchup is supported"
	
.. only:: spatial
	
	.. csv-table::
		:header: "Library name", "Version", "Windows", "Linux", "OS X", "Android", "iOS", "Notes"
		
		".NET Framework", "4.0", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "4.5 required when using D3D_IMAGE_CANVAS"
		"Parasolid", "32.0.x", |supported|, |supported|, |supported|, |unsupported|, |supported|, "For iOS platforms, support is limited to 64-bit platforms for the Parasolid Sprockets (hps_sprk_parasolid and hps_sprk_exchange_parasolid)."
		"RealDWG", "2019", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "RealDWG 2019 works with Visual Studio 2017 Update 2 and Visual Studio 2015 Update 3"
		"Qt", "5.12.7", |supported|, |supported|, |supported|, |unsupported|, |unsupported|, ""
		"SketchUp", "2021", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "VS2019 Redistributable required, and only x64 Sketchup is supported"	


New features and enhancements
-----------------------------

**Animation API beta release.** Simple keyframe animation is now available in beta form. The animation API provides control of visibility, location, orientation, and visual attributes in a scene over time. Animations are composed of separate channels for each parameter type to be interpolated between keyframe states in the scene. An additional player object provides the controls for playing the animation. The details can be found in the Programming Guide page about :doc:`animation </prog_guide/0306_animation>`, and in the Reference Manual.

**OpenGL2_Mesa driver.** A new driver is available, based on OpenGL Mesa. This is a software driver meant for systems without GPU hardware. See the :ref:`Device Guide <prog_guide/appendix_device_guide:OpenGL2Mesa>` for more details.

**Hardware accelerated text.** Hardware accelerated rendering of transformable text is now available for a wide variety of use cases, improving performance when significant amount of text is present in scenes. Accelerated rendering is currently supported on text attribute shape changes (not position), text with backgrounds, and text using driver fonts. Using this feature is optional, off by default, and can be enabled using ``HPS::PerformanceControl::SetTextHardwareAcceleration(bool in_state)``. The text must be transformable and segment display lists must be enabled for this option to take effect. Note currently there is not support for greeking, under/overlined text, strikethrough, per-character attributes and visible text leader lines.

.. only:: not spatial

	**Physically Based Rendering.** Physically Based Rendering is now supported on mobile platforms, enabling application developers to provide enhanced rendering realism on those platforms. Note that glTF data is not currently supported on mobile platforms when the data is loaded by HOOPS Exchange. PBR material data will have to be loaded through other mechanisms such as the HSF format.

.. only:: spatial

	**Physically Based Rendering.** Physically Based Rendering is now supported on mobile platforms, enabling application developers to provide enhanced rendering realism on those platforms. Note that glTF data is not currently supported on mobile platforms - PBR material data will have to be loaded through other mechanisms such as the HSF format.


Functional changes
------------------

.. only:: not spatial

	**HOOPS Exchange.** HOOPS Visualize now works with HOOPS Exchange 2021 SP1.

	**HOOPS Publish.** HOOPS Visualize now works with HOOPS Publish 2021 SP1.

**SketchUp.** HOOPS Visualize now includes support for SketchUp 2021. The SketchUp Sprocket requires Visual Studio 2019 Redistributable.



Fixed bugs
----------

.. csv-table::
	:header: "Issue number", "Description"
	
	"SDHV-10465", "Unable to remove edge color set on a shell"
	"SDHV-10453", "Crash after deleting copied segment with highlight"
	"SDHV-10392", "Nav cube edges are not updated in HLR mode during orbit operation"
	"SDHV-10390", "Shell Edge performance"
	"SDHV-10389", "Navigation cube's edges do not move with hidden lines rendering"
	"SDHV-10367", "Screen facing PMI is missing when exporting EMF"
	"SDHV-10346", "Memory leaks when call view.SmoothTranslation()"
	"SDHV-10345", "Incorrect imported view camera"
	"SDHV-10325", "UnsetVertexColor methods don't work for polycylinder"
	"SDHV-10318", "Memory usage keep increasing with PerimeterEdge/PerimeterEdge"
	"SDHV-10299", "Axis and NaviCube cannot display properly in Rendering HiddenLine"
	"SDHV-10121", "CAD View camera is wrong"
	"SDHV-10073", "Performance slow compared with 2018SP2"
	"SDHV-5765", "Improve graphics performance with a lot of text model"
	"SDHV-5440", "File size & Performance issue when Print/Export PDF using Hardcopy::GDI API"
