HARFANG 3D source code public repository
This minor release brings the support for the DOF post process.
dof_focus_point
and dof_focus_length
(see ForwardPipelineAAAConfig())This minor release provides several fixes and brings a functionning API to capture the framebuffer and save it as a picture.
DisableCursor
on SDL (by @PMP-P).SetCameraCenterOffset
and GetCameraCenterOffset
(by @RobEwbank1).uint32_t CaptureTexture(const PipelineResources &resources, const TextureRef &t, Picture &pic)
uint32_t CaptureTexture(bgfx::ViewId &view_id, const PipelineResources &resources, const TextureRef &t, const Texture &readback, Picture &pic)
GetPixelRGBA
and SetPixelRGBA
.picture = hg.Picture(512, 512, hg.PF_RGBA32)
draw to texture
TF_ReadBack
: tex_readback = hg.CreateTexture(512, 512, "readback", hg.TF_ReadBack | hg.TF_BlitDestination, hg.TF_RGBA8)
hg.SubmitSceneToPipeline(view_id, scene, hg.IntRect(0, 0, 512, 512), true, pipeline, res, frame_buffer.handle)
frame_count_capture, view_id = hg.CaptureTexture(view_id, res, tex_color_ref, tex_readback, picture)
frame
counter is greater or equal to frame_count_capture
, save the picture: hg.SavePNG(picture, "capture.png")
!=
color operator.minmax
transform to fix #49.VertexLayoutPosFloatNormUInt8TexCoord0UInt8
).RBT_Static
wasn't saved properly in the scene file.GetAnimableNodePropertyFloat
and SetAnimableNodePropertyFloat
to handle the camera FOV.This minor release provides several fixes and new features in the VR/XR and Physics areas. Platform compatibility was slightly improved as well on OS X and WASM (still experimental):
Foundation
and Engine
.OpenXRInit
, OpenXRShutdown
, OpenXREyeFrameBuffer
, OpenXRCreateEyeFrameBuffer
, OpenXRGetHeadPose
...).VARJO_QUADVIEWS
and COMPOSITION_LAYER_DEPTH
to support the Varjo XR-3 headset.Add6DofConstraint
, Remove6DofConstraint
).SetPreTickCallback
).
SetPreTickCallback
allows the user to define a function that will be automatically invoked by the Physics solver. This function is provided with 2 parameters, the physics system and the delta of time within the current solver step:
# scene physics
physics = hg.SceneBullet3Physics()
physics.SceneCreatePhysicsFromAssets(scene)
physics_step = hg.time_from_sec_f(1 / 60)
function foo(ph, dt)
# do physics stuff (AddForce, AddImpulse...)
end
physics.SetPreTickCallback(foo)
DisableCursor
).Scene::SetObjectModel
and Object::IsValid
).BM_AlphaRGB_AddAlpha
(required by Harfang GUI).python3 -m harfang.bin assetc resources_path -api GL
import harfang.bin
harfang.bin.assetc('resources', '-api', 'GL')
This minor release provides minor corrections and fixes to specific issues:
HG_BUILD_HARFANG_STATIC
to build HAFANG in static mode.jpeg
to the textures checklist.FileFilter
.CollectCollisionEvents
to return a NodePairContacts
properly.ViewMode
enums in the manual.Bullet3Physics
, SyncTransformsFromScene
and SyncTransformsToScene
.This minor release brings several fixes to the rendering, physics, engine, foundation and tools.
construct
when processing textures in Assetc.BC6H_UF16
into BC6H_SF16
to produce a valid DDS from a HDR file.ImGuiMouseButton
enums (ImGuiMouseButton_Left
, ImGuiMouseButton_Right
, ImGuiMouseButton_Middle
).SetProbe
function to set the radiance and irradiance map to a scene.SubmitModelToForwardPipeline
.GetMaterialsWithName
.GetFullPathAsset
get_log_level
, get_log_detailed
functions.SaveFileDialog
.core\
folder will need to be updated if your project is using the Forward or AAA rendering pipelines.UpdateForwardPipelineAO
and UT_AmbientOcclusion
.This minor release brings several fixes, a better implementation of the AAA rendering pipeline including probe reprojection and a more stable screen space raytracer.
Improvements were made in the usability area, for Python development, as HARFANG will now output warnings as much as possible when users are calling for invalid API operations.
The Python build script was worked out to make the wheel available on Pypi for Linux OSes.
pip install
from the source package and address this issue.
uuid-dev
, libreadline-dev
, libxml2-dev
, libgtk-3-dev
uuid-devel
, readline-devel
, libxml2-devel
, gtk3-devel
languages/hg_python/pip/setup.py
.AssetsSource
from assets.h.filter_disabled_node
options to avoid exporting node.Vec4
/Vec3
operations as the result was ambiguous.Vec3
on CubicInterpolate
.AddQuad
method in the model builder. Added an helper method to quickly build common vertex configurations, see MakeVertex
.SortAnimTrackKeys
.TextInputSignal
.ListDir
output.ProjectOrthoToClipSpace
, ProjectOrthoToScreenSpace
.UnprojectOrthoFromClipSpace
, UnprojectOrthoFromScreenSpace
.his minor release brings both code and submodules maintenance, several fixes in the toolchain, in the scenegraph and physics interchange and in the rendering pipeline.
max smoothing angle
to degrees and fixed the internal vertex/tangent computation.hg::Picture::SaveBC7
and hg::Picture::SaveBC6H
functions.ComputeWorld
, GetWorld
, SetWorld
). :warning: This function is slow but useful when scene matrices are not yet up-to-dateAmbientColor
, FogNear
, FogFar
, FogColor
) while preserving the legacy file format.LSSF_Silent
scene flag, add many boolean flags to silence errors in the rendering IO.NF_InstanceDisabled
if the host node is disabled.OpenFileDialog
, SaveFileDialog
).DEPTH_ONLY=1
).--glossScale 20
--glossBias 0
parameters sent to CMFT).LoadForwardPipelineAAAConfigFromFile
, LoadForwardPipelineAAAConfigFromAssets
, SaveForwardPipelineAAAConfigToFile
)RGBA32
pixel format to improve the performance when playing a video stream.This minor release brings several fixes, performance improvements and new features to the rendering, physics and audio APIs.
ProcessModelLoadQueue
, ProcessLoadQueues
, LSSF_QueueTextureLoads
, LSSF_QueueModelLoad
).LoadOGGSoundFile
, LoadOGGSoundAsset
, StreamOGGFileStereo
, StreamOGGAssetStereo
, StreamOGGFileSpatialized
, StreamOGGAssetSpatialized
).Mat4
copy constructor.LoadImage*
functions.LSSF_DoNotChangeCurrentCameraIfValid
).is_file
field to the structure returned by GetFileInfo
.RigidBody_
struct.RigidBody_
to 6 bytes.BeginProfilerSection
, EndProfilerSection
, EndProfilerFrame
, CaptureProfilerFrame
, PrintProfilerFrame
).MakeVideoStreamer
).z_thickness
param to the AAA rendering pipeline.NodeSetLinearLockAxes
, NodeSetAngularLockAxes
replaced by NodeSetLinearFactor
, NodeSetAngularFactor
.NodeGetLinearLockAxes
, NodeGetAngularLockAxes
replaced by NodeGetLinearFactor
, NodeGetAngularFactor
.NodeAddTorque
, NodeAddTorqueImpulse
NodeCollideWorld
and StepSimulation
(see CollectCollisionEvents
).NodeTeleport
in Bullet physics.SyncTransformsFromScene
, SyncTransformsToScene
).LoadSceneXXX
functions documentation.This minor release brings several fixes, mainly in the Bullet Physics API.
TF_RenderTarget
).SetSourceStreamTimecode()
to the audio API.Kinematic
physics matrix.SetRigidBodyAngularDamping()
now takes a float
instead of a Vec3
.This minor release bring several improvements and fixes, mainly in the Bullet Physics API.
CreateInstanceFromFile
/CreateInstanceFromAssets
by returning a boolean to inform the caller that the hosted scene could be instantiated.CreateInstanceFromFile
, CreateInstanceFromAssets
, GetColorTexture
, GetDepthTexture
, GetTextures
)time_from_xxx_d
functions and fixed a precision issue with time_from_string
ResetWorld
, DisableDeactivation
, add a way to lock axes.-no_clean_removed_inputs
).-merge-mesh
option.GetTextures
documentation filename.SceneBullet3Physics
in the man Physics page.