Skip to content
This repository has been archived by the owner on Aug 1, 2023. It is now read-only.

harfang3d/harfang-go

HARFANG® for Golang

harfang-go release (latest SemVer) Go Doc Go Report Card

3D real time visualization framework

Harfang is a 3D real time visualization framework for the industry, the education and for scientists. It grants developpers the ability to create applications ranging from data visualization to games.

See https://www.harfang3d.com/license for licensing terms.

Installation steps for Windows

  1. Install the GO Language for Windows
  2. Install MSYS 2
  3. Open MSYS 2 bash and execute this command :
pacman -S mingw-w64-x86_64-gcc
  1. Add the GCC binaries to your Windows PATH by executing these two lines in your cmd. (This should be the correct path if you left everything by default during the MSYS 2 install)
setx PATH "%PATH%;C:\msys64\mingw64\bin"

refreshenv
  1. Download the Harfang Go package :
go get github.com/harfang3d/harfang-go/v3
  1. Run any harfang program :
go run example_harfang_app.go

Test the Go tutorials

  1. Download the tutorials https://github.com/harfang3d/tutorials-hg2

and unzip them to your computer (eg. d:/tutorials-hg2).

  1. To compile the tutorial resources, download assetc for your platform: https://dev.harfang3d.com/releases/

  2. Drag and drop the tutorial resources folder on the `assetc

executable -OR- execute assetc passing it the path to the tutorial resources folder (eg. assetc d:/tutorials-hg2/resources).

image

After the compilation process finishes, you should see a resources_compiled folder next to the resources folder. You can now

execute the tutorials from the folder you unzipped them to.

tutorials-hg2>go run draw_lines.go

Alternatively you can open the tutorial folder and run the provided debug targets using Visual Studio Code

Screenshots

The following screenshots were captured on a 2070RTX in 1080P running at

60FPS, GI is performed using screen space raytracing and does not require RTX capable hardware.

Cyber City (CyberPunk City, CyberPunk Girl and Robot R32 by art-equilibrium, ILranch and ZeroArt3d)

image

image

Sun Temple (Sun Temple, courtesy of the Open Research Content Archive)

image

image

Cafe Exterior (Bistro, courtesy of the Open Research Content Archive)

image

image

Sponza Atrium (Sponza Atrium GLTF, courtesy of Crytek/Themaister)

image

image

Features

Scene API

  • Node & component based
  • Performance oriented

Rendering pipeline

  • Low-spec PBR rendering pipeline
  • High-spec 'AAA' rendering pipeline (screen space GI & reflection)
  • Support of user pipeline shaders

VR API

  • VR support via OpenVR/SteamVR with Eye tracking
  • Compatible with the HTC Vive/Vive Pro, Valve Index, Lenovo Explorer, Oculus Rift S

Physics API

  • Rigid bodies, collisions, mechanical constraints
  • Ray casting
  • Fast & accurate

Audio API

  • Play/stream WAV/OGG formats
  • 3D audio spatialization

More information on https://www.harfang3d.com/