[ANN] Azul3D - A 3D game engine written in Go!

786 views
Skip to first unread message

Stephen Gutekanst

unread,
Aug 7, 2014, 7:42:15 AM8/7/14
to golan...@googlegroups.com
Hello gophers.

Azul3D has been in the works for a long time now, it is a 3D game engine written entirely in Go featuring:
  • State of the art shader-based modern 3D game engine.
  • Cross-platform, Windows and Linux support.
  • OpenGL 2.x based renderer.
  • 3D audio via OpenAL (coming soon).
It consists of a collection of Go packages dedicated towards graphical application development (though mostly targeting games). The project is still in early stages but is maturing rapidly.
Have a great day,
Stephen

Daniel Skinner

unread,
Aug 7, 2014, 11:17:22 AM8/7/14
to Stephen Gutekanst, golang-nuts
+1 Nice to see an official announcement :D


--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Valor Zhong

unread,
Aug 7, 2014, 10:09:54 PM8/7/14
to golan...@googlegroups.com
sounds good !!


在 2014年8月7日星期四UTC+8下午7时42分15秒,Stephen Gutekanst写道:

Scott Pakin

unread,
Aug 8, 2014, 8:25:30 PM8/8/14
to golan...@googlegroups.com
Looks interesting.  May I suggest including a link to the examples directory on GitHub on the Web page, though?  It took me a long time to find that.

— Scott

Stephen Gutekanst

unread,
Aug 8, 2014, 9:03:37 PM8/8/14
to Scott Pakin, golan...@googlegroups.com
Thanks for the suggestion! Done.


Stephen


On Fri, Aug 8, 2014 at 5:25 PM, Scott Pakin <scot...@pakin.org> wrote:
Looks interesting.  May I suggest including a link to the examples directory on GitHub on the Web page, though?  It took me a long time to find that.

— Scott

--
You received this message because you are subscribed to a topic in the Google Groups "golang-nuts" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/golang-nuts/6SgfYJ3_1MM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to golang-nuts...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Follow me on twitter @slimsag.

Jsor

unread,
Aug 22, 2014, 5:45:21 AM8/22/14
to golan...@googlegroups.com, scot...@pakin.org
It looks like you use 64-bit floats for linear algebra. This is okay, but do know that GPUs tend to be much quicker and play nicer with 32-bit floats.

Jsor

unread,
Aug 22, 2014, 6:33:22 AM8/22/14
to golan...@googlegroups.com, scot...@pakin.org
I also think it's probably incompatible with OS X (which may be deliberate). OS X really, really wants OpenGL to be run on the main thread, not just "the same" thread.

Stephen Gutekanst

unread,
Aug 22, 2014, 8:56:57 AM8/22/14
to Jsor, golan...@googlegroups.com, Scott Pakin
It looks like you use 64-bit floats for linear algebra. This is okay, but do know that GPUs tend to be much quicker and play nicer with 32-bit floats.
Actually -- Azul3D uses 64-bit floats for linear algebra (via the azul3d.org/lmath.v1#Vec3 package), and 32-bit floats for GPU data (via the http://azul3d.org/gfx.v1#Vec3 type). By using both in the appropriate places, you get high precision math coupled with high performance rendering and versatility.

In fact, we strongly advise against using 64-bit floating point data on the GPU because it's not very portable (e.g. it requires the GL_ARB_vertex_attrib_64bit extension, and doesn't work on mobile devices at all).

I also think it's probably incompatible with OS X (which may be deliberate). OS X really, really wants OpenGL to be run on the main thread, not just "the same" thread.
Azul3D doesn't have OS X support yet, you can track the issue here. But there is nothing saying that OpenGL must be ran on the main thread at all, in fact you can have multiple OpenGL contexts and even move them onto separate threads when you please. Now, Cocoa and many other GUI libraries on OS X do require that they only be ran on the main thread.

Stephen

Jeff Juozapaitis

unread,
Aug 22, 2014, 9:03:04 AM8/22/14
to Stephen Gutekanst, golang-nuts, Scott Pakin
Fair enough!

Out of wonder, do you plan on implementing a 3.3+ renderer in the near future, or is it all 2.1 for the time being?

Stephen Gutekanst

unread,
Aug 22, 2014, 9:51:22 AM8/22/14
to Jeff Juozapaitis, golang-nuts, Scott Pakin
What features do you actually want from an OpenGL 3.3+ renderer?

If you look carefully (and know OpenGL well) you will find that our OpenGL 2.x renderer only uses *modern* features (non-immediate mode rendering, etc). OpenGL 2.1, if used correctly, is just as fast and supports just as many features as OpenGL 3 via extensions and has the added bonus of supporting older hardware.

I'd really like to hear what features you would want ?

Stephen

Bryan Turley

unread,
Aug 22, 2014, 8:03:27 PM8/22/14
to golan...@googlegroups.com
On Darwin the event pump needs to be on the original thread, but gl contexts can be on any thread.
Reply all
Reply to author
Forward
0 new messages