Recent Posts

Pages: 1 ... 6 7 [8] 9 10
71
3D-Tech News Around The Web / Re: (WebGL) Gargantia: Sky Courier
« Last post by davidgaleano on June 24, 2014, 08:19:46 PM »
Why are you saying that? It should work fine on all browsers.
72
3D-Tech News Around The Web / EVGA OC Scanner X 3.5.1.0 Released
« Last post by Stefan on June 24, 2014, 06:28:40 PM »
EVGA OC Scanner X 3.5.0.2 is available now, this new version adds a new test, bugfixes and now includes a way to upload and compare your benchmark scores! Download it at http://www.evga.com/ocscanner
 
 
Version 3.5.0.2 - Release: 06/18/2014
  • Benchmark scores can now be submitted to an online GPU database
  • Added support for latest graphics cards
  • Benchmark scores can now be submitted to an online GPU database
  • Added new multi-GPU Test: OpenCL Julia4D
  • Added a section with experimental demos (no benchmark, demo mode only)
  • Updated 3D framework
  • Updated NV-Z 0.6.0
  • Bugfixes
73
3D-Tech News Around The Web / (WebGL) Gargantia: Sky Courier
« Last post by Stefan on June 24, 2014, 05:54:55 PM »
Quote
Production I.G and Internet Explorer have teamed up to create Gargantia: Sky Courier, a brand new action adventure game based on the popular intro series Gargantia on the Verdurous Planet. ▶▶ In Sky Courier, you get to play the role of Ledo as he explores his new home from the sky while piloting a surf kite with the help of his friends and an occasional hand from his AI companion, Chamber.
▶▶ It features amazing 3D gameplay, as well as an original adventure game story voiced by the original voice actors from the intro series. Depending on how well you play, the game provides you with three possible endings.

Microsoft continues the goof to make their demos look bad on other browsers...
75
English forum / GLSL Hacker 0.7.0.0 released
« Last post by JeGX on June 23, 2014, 09:35:30 PM »
A new dev version of GLSL Hacker is ready for Windows 64-bit, Lionux 64-bit and OS X.

You can download it from this page:
http://www.geeks3d.com/glslhacker/download.php

Changelog:
Quote
Version 0.7.0.0 - 2014.06.21
-----------------------------
* fixed a bug with AntTweakBar plugin under Windows with AMD Radeon cards
  that made the application to crash time to time at the end of a scene.
- removed all atomic_counter_xxxx() functions from gh_renderer.   They are
  replaced by the low level functions of the gh_gpu_buffer lib.
* bugfix: the gh_camera.bind() function no longer update the fixed pipeline
  if OpenGL core profile is used.
+ added OpenGL debug GL_ARB_debug_output support via the gl_debug_profile="1"
  in the XML window node.
+ added memory_barrier() to gh_renderer lib.
+ added vertices_to_gpu_buffer(), vertices_from_gpu_buffer()
  and set_vertex_source() to vertex_pool lib.
- removed all shader_storage_buffer_xxxxx() functions from vertex_pool lib.
+ added set_shader_storage_block_binding() to gh_gpu_program lib.
+ added set_automatic_uniform_state() to gh_object lib.
* fixed a threading bug in the waitscreen + progress bar when scene contains errors.
+ added gh_gpu_buffer, a new lib for managing GPU buffers in an unified way.
+ added get_uniform_block_size(), get_uniform_block_index()
  and set_uniform_block_binding() to gh_gpu_program lib.
- removed all ub_xxx() functions from gh_gpu_program lib.


Version 0.6.4.5 - 2014.06.08
-----------------------------
+ added support of transparent windows (alpha value) in OS X version.
+ added drag and drop support in the OS X version.
! OSX version: now GLSL Hacker stores the last position of the window
  and uses it for the next launch (useful with the drag and drop).
+ added FreeImage plugin support in the OS X version.
+ added a set of functions to manage custom dynamic libraries: gh_utils.dylib_xxx().
  Thanks to these functions, you can use GLSL Hacker as a super window manager and code
  your own 3D routines in the dynamic lib in C/C++.   
76
English forum / GPU buffers
« Last post by JeGX on June 23, 2014, 03:31:33 PM »
GPU buffers are a powerful new feature of GLSL Hacker 0.7.0+. A GPU buffer is a wrapper around OpenGL hardware buffer objects. You can easily create an uniform or shader storage buffer, set values and use the buffer in a GLSL shader.

Here is a code snippet (in Lua) that illustrates how to use GPU buffers functions of the new gh_gpu_buffer lib:

Code: [Select]
storage_size = 32 -- memory size in bytes for two vec4
flags = ""
ssbo = gh_gpu_buffer.create("SHADER_STORAGE", "GL_DYNAMIC_READ", storage_size, flags)
gh_gpu_buffer.bind(ssbo)

gh_gpu_buffer.map(ssbo)

buffer_offset_bytes = 0
gh_gpu_buffer.set_value_4f(ssbo, buffer_offset_bytes, x0, y0, z0, w0)

buffer_offset_bytes = buffer_offset_bytes + 16
gh_gpu_buffer.set_value_4f(ssbo, buffer_offset_bytes, x1, y1, z1, w1)

gh_gpu_buffer.unmap(ssbo)

gh_gpu_buffer.unbind(ssbo)

binding_point_index = 3
gh_gpu_buffer.bind_base(ssbo, binding_point_index)


More complete examples are available in the code sample pack:

- host_api/gl-310-arb-uniform-buffer/
- host_api/gl-420-arb-atomic_counters/
- host_api/gl-430-arb-shader-storage-buffer-object/
- host_api/gl-440-arb-bindless-texture/

All these code samples use GPU buffers to share data with GLSL programs.
77
English forum / User plugins in C/C++
« Last post by JeGX on June 23, 2014, 03:04:35 PM »
GLSL Hacker 0.7.0+ brings the support of user plugins (or dynamic/shared libs: *.dll under Windows, *.so under Linux and *.dylib under OS X). These dynamic libraries must implement the following functions:

Code: [Select]
int gxl_dylib_start(void* render_window, int width, int height, const char* data, void* user_data);
int gxl_dylib_stop(const char* data, void* user_data);
int gxl_dylib_frame(float elapsed_time, const char* data, void* user_data);
int gxl_dylib_resize(int width, int height, const char* data, void* user_data);
int gxl_dylib_set_message(const char* message);
char* gxl_dylib_get_message();


render_window is a pointer on the following data structure:
Code: [Select]
struct RenderWindowData_v1
{
#if _WINDOWS 
  HDC _dc; // Device context.
  HWND _hwnd; // Handle on the 3D window.
  HGLRC _glrc; // OpenGL context.
#endif

#if _OSX
  void* _glrc; // OpenGL context.
#endif

#if _LINUX
  Display* _display; // not set, alwyas = 0
  Window _window; // not set, alwyas = 0
  void* _glrc; // OpenGL context.
#endif
};

Once your DLL is coded with these functions, you can load it and use it in GLSL Hacker:

INIT script:
Code: [Select]
dlib = gh_utils.dylib_load(dylib_filename)
plugin_data = ""
gh_utils.dylib_start(dlib, winW, winH, plugin_data)



FRAME script :
Code: [Select]
plugin_data = ""
gh_utils.dylib_frame(dlib, elapsed_time, plugin_data)


SIZE script :
Code: [Select]
winW, winH = gh_window.getsize(0)
plugin_data = ""
gh_utils.dylib_resize(dlib, winW, winH, plugin_data)


TERMINATE script :
Code: [Select]
plugin_data = ""
gh_utils.dylib_stop(dlib, plugin_data)
gh_utils.dylib_unload(dlib)

You can use the plugin_data variable to pass arbitrary string to the plugin.

A complete demo (including the DLL source code in C/C++ for Windows and OS X) is available in the host_api/User_Plugin/ folder of the code sample pack.

This demo initializes and draws a simple triangle:




78
Forum en français / Plugin utilisateur en C/C++
« Last post by JeGX on June 23, 2014, 02:52:22 PM »
GLSL Hacker 0.7.0+ apporte le support des plugins ou DLLs utilisateurs. Ces librairies dynamiques doivent implémenter les fonctions suivantes:

Code: [Select]
int gxl_dylib_start(void* render_window, int width, int height, const char* data, void* user_data);
int gxl_dylib_stop(const char* data, void* user_data);
int gxl_dylib_frame(float elapsed_time, const char* data, void* user_data);
int gxl_dylib_resize(int width, int height, const char* data, void* user_data);
int gxl_dylib_set_message(const char* message);
char* gxl_dylib_get_message();

render_window pointe sur la structure suivante:

Code: [Select]
struct RenderWindowData_v1
{
#if _WINDOWS 
  HDC _dc; // Device context.
  HWND _hwnd; // Handle on the 3D window.
  HGLRC _glrc; // OpenGL context.
#endif

#if _OSX
  void* _glrc; // OpenGL context.
#endif

#if _LINUX
  Display* _display; // not set, alwyas = 0
  Window _window; // not set, alwyas = 0
  void* _glrc; // OpenGL context.
#endif
};

Une fois que vous avez codé votre DLL avec ces fonctions, il suffit de la charger dans GLSL Hacker avec gh_utils.dylib_load():

Script INIT:
Code: [Select]
dlib = gh_utils.dylib_load(dylib_filename)
plugin_data = ""
gh_utils.dylib_start(dlib, winW, winH, plugin_data)

Il ne reste plus qu'à appeller les fonctions start, frame, resize, etc.

Script FRAME:
Code: [Select]
plugin_data = ""
gh_utils.dylib_frame(dlib, elapsed_time, plugin_data)

Script SIZE:
Code: [Select]
winW, winH = gh_window.getsize(0)
plugin_data = ""
gh_utils.dylib_resize(dlib, winW, winH, plugin_data)


Script TERMINATE:
Code: [Select]
plugin_data = ""
gh_utils.dylib_stop(dlib, plugin_data)
gh_utils.dylib_unload(dlib)


La variable plugin_data permet de transmettre une chaine de caractères au plugin. Cette chaine de caractères vous permet d'envoyer des informations quelconques au plugin.

Une demo complete (avec les codes sources de la DLL pour Windows et OS X) est disponible dans le code sample pack dans le répertoire
host_api/User_Plugin/

Cette demo charge un plugin C++/OpenGL tout simple qui initialise et dessine un triangle:


79
Forum en français / Fenetres transparentes sous Mac OS X
« Last post by JeGX on June 23, 2014, 02:18:19 PM »
La version 0.6.4.5 de GLSL Hacker apporte le support des fenetres transparentes sous OS X. Par default une fenetre est totalement opaque. Pour faire une fenetre transparente, il suffit de changer sa valeur alpha dans le noeud XML scene:

Code: [Select]
<window name="win3d01" title="3DS loading"
                 width="800" height="600" alpha="0.6"
                gl_version_major="3" gl_version_minor="2" />

Si alpha=1.0, la fenetre est totalement opaque, si alpha=0.0, la fenetre est totalement transparente.

80
English forum / Transparent windows under Mac OS X
« Last post by JeGX on June 23, 2014, 02:14:29 PM »
The version 0.6.4.5 of GLSL Hacker brings the support of transparent windows under Mac OS X. By default a window is fully opaque. To make a transparent window, just set its alpha value in the XML window node:

Code: [Select]
<window name="win3d01" title="3DS loading"
                 width="800" height="600" alpha="0.6"
                gl_version_major="3" gl_version_minor="2" />

if alpha=1.0, the window is fully opaque, if alpha=0.0, the window is fully transparent.

Pages: 1 ... 6 7 [8] 9 10