{{ main_breadcrumb }}

Package files



Please enter urls for Game_*.pkg files:







Script file



Please enter the script






3D ENGINE STATUS: WAITING FOR NECESSARY COOKIES..
LOGIN STATUS: WAITING FOR COOKIES..

PURCHASE STATUS: WAITING FOR COOKIES..

meshpage.org

groundbreaking way to bring 3d to the web.

000 | 050 | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 | 500

3d engine © 2013-2025 Tero Pulkkinen, All rights reserved.
Licensed under LGPL/GPL license. See source code at https://github.com/terop2/GameApi.
meshpage.org® is a registered trademark of Tero Pulkkinen in tampere.

about and contact info

Introduction: article
Create(private): mesh
Vault(private): vault
Adverticement: Video

Resume cookie dialog: RESUME
Technology demonstration: Demo

Video tutorial: tutorial

Email address: terop@kotiposti.net
Phone number: +358 50 5827126
Y-tunnus: 3544765-4 (Tero Pulkkinen)
Ko-fi address: terop57376

Github: https://github.com/terop2/GameApi
Source Code: GameApi-sourcecode-v.tar.gz.
Yours,


Development history of the project:








Terms and conditions:

documents

Available documents:

frequently asked questions

What is meshpage.org?

How does the site work?

What are the advantages in your approach?

What are the disadvantages?

What to do if your hosting location has no php?

What should I do to serve the files via http/3?

Chrome: chrome://flags -> experimental quic protocol -> enabled

What is the standard rendering pipeline?

And if you want something to move on screen?

Is there a 3d model viewer that uses your engine?

Yes. It's here Useful other sites which you can drag and drop content to the viewer are at least: Useful other sites with gltf viewing capability in web:

If I just want to deploy simple gltf file?

Check our gltf-to-zip converter at Here.

Now, if I got display.php, how do I embed it to my article

<iframe scrolling="no" src="display.php" width="830" height="630">

I want smooth transition from jpg/png/webp to the 3d engine

There's now a callback for that purpose
  Module.gameapi_cb = function()
   { var d = document.getElementById("img"); d.style="display:none"; }

What is the minimal node graph that can be deployed to web?

Important part for deployment is the properties of html_run, since it contains url to your hosting space, which you need to change. This ensures that any urls that you load inside the node graph can be fetched from your hosting space. Unrestricted url access is not allowed for copyright reasons.

Web server config(.htaccess) should be something like the following: (you should change the url)

Header set Access-Control-Allow-Origin "https://meshpage.org" 
Header set Cross-Origin-Embedder-Policy "require-corp" 
Header set Cross-Origin-Resource-Policy "same-site" 
Header set Cross-Origin-Opener-Policy "same-origin" 
Header set Access-Control-Allow-Headers "range"
Additionally, you should have in the page where iframe or embed is in, the following header definition:
  <?php
     header("Cross-Origin-Opener-Policy: same-origin");
  ?>
Apparently this needs to be in the page itself and not in the .htaccess to get SharedArrayBuffer and pthreads working.

Where do I get html5 zip file?

There's few options:

What to do with the html5 zip file?

How to setup http cache with the engine?

We recommend in .htaccess:
Header set Cache-Control "max-age=604800, immutable"
(this avoids small problem with browsers deciding different caching strategy for .wasm and .js files and serving mismatched files for the users, causing EM_ASM crashes)

What about compressing the huge engine files?

For nice performance speedup for network, you should enable brotli compression in the web server too:
.HTACCESS Changes:
AddOutputFilterByType BROTLI_COMPRESS text/xml
AddOutputFilterByType BROTLI_COMPRESS text/css
AddOutputFilterByType BROTLI_COMPRESS application/xml
AddOutputFilterByType BROTLI_COMPRESS application/xhtml+xml
AddOutputFilterByType BROTLI_COMPRESS application/rss+xml
AddOutputFilterByType BROTLI_COMPRESS application/javascript
AddOutputFilterByType BROTLI_COMPRESS application/x-javascript
AddOutputFilterByType BROTLI_COMPRESS application/wasm
AddOutputFilterByType BROTLI_COMPRESS application/x-font-opentype
AddOutputFilterByType BROTLI_COMPRESS text/plain
<files *.wasm>
SetOutputFilter BROTLI_COMPRESS
</files>
<files *.ds.*>
SetOutputFilter BROTLI_COMPRESS
</files>
<files *.ds>
SetOutputFilter BROTLI_COMPRESS
</files>
<files *.data>
SetOutputFilter BROTLI_COMPRESS
</files>
AddType application/wasm wasm
AddType application/x-gameapi-binary ds
AddType text/plain mtl
AddType application/x-font-opentype otf
Then /etc/apache2/sites-enabled/000-default.conf probably should have:
       <IfModule mod_brotli.c>
        AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascipt application/wasm application/x-javascript
	</IfModule>
	<IfModule mod_headers.c>
	RewriteCond "%{HTTPS:Accept-encoding}" "br"
	RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
	RewriteRule "^(.*)\.(wasm)" "$1\.$2\.br" [QSA]
	RewriteRule "^(.*)\.(ds)\.(..)" "$1\.$2\.$3\.br" [QSA]

	RewriteRule "\.wasm\.br$" "-" [T=application/wasm,E=no-brotli:1]
	<FilesMatch "(\.wasm\.br)$">
	  Header append Content-Encoding br
	  Header append Vary Accept-Encoding
	</FilesMatch>
	<FilesMatch "(\.ds\...\.br)$">
	  Header append Content-Encoding br
	  Header append Vary Accept-Encoding
	</FilesMatch>
	</IfModule>
Then you need brotli packages:
  sudo apt install brotli -y
  sudo a2enmod brotli
  sudo systemctl restart apache2



What technologies are you using to provide the features of the site?

In addition to these external stuff, we have internal development in the following modules:

What kind of features are available in the base system?

Why do tool menus not do anything?

What keybindings are there in the tool?

Trackpads, touchpads and drawing tablets do not work with the technology?

This is known problem, but we don't have solution to the problem. The emscripten_set_wheel_callback() function sends events
that are not suitable for getting the trackpad to work properly. In ubuntu, we've found that changing settings in gnome and
disabling "two finger scroll" and enabling "edge scroll" can help it a little, but our current recommendation is to disable
the trackpad's completely from gnome settings. The main problem is visible in zoom feature, when mouse wheel is being mapped to the zooming of the 3d models. The trackpad's
are not able to simulate mouse wheel accurately/consistently enough and we were unable to figure out why gnome's "two finger scroll"
sends always positive deltaY, when both negative and positive values should be available in the callback. We haven't checked what needs to be done to get trackpads working in windows.

What tools you should try immediately?

I get browser crashes when loading your web site in windows machines

Here's steps to fix some webgl2 problems in windows: It seems the default d3d11 webgl2 backend is somewhat broken, but happily its possible to fix the problem by using the opengl backend.

I get error while loading the animations

What browser should I use?

On my laptop I get the following benchmarks(this test: here(

What does blogs think about our site?

builder tool download

PURCHASE LICENCES: HERE(130€) (LGPL/GPL)


MOST RECENT RELEASE: WIN: v. (20436 days ago)
MOST RECENT RELEASE: LINUX: v. (20436 days ago)
MOST RECENT RELEASE: SOURCECODE: v. (20436 days ago)

CONCEPT IMAGES GENERATED VIA ARTIFICIAL INTELLIGENCE(chatgpt4):


DOWNLOADING THE ACTUAL PRODUCT OFFERING:

  • Application name: GameApi Builder
  • Application category: Modelling Tool, Gamedev
  • Operating system: Windows 11 64-bit
  • Download url: download msi
(doubleclick msi file to install it)
start menu -> GameApi-Builder v.0 -> GameApi_Builder v.0

  • Application name: GameApi Builder
  • Application category: Modelling Tool, Gamedev
  • Operating system: Ubuntu 64-bit amd64
  • Download url: download deb
sudo dpkg -i gameapi-builder_1.0-.deb
gameapi-builder

  • Application name: GameApi Builder
  • Application category: Modelling Tool, Gamedev
  • Operating system: Linux with wine
  • Download url: download msi
(install wine)
wine msiexec /i GameApi-Builder-v.msi
cd ~/.wine/drive_c/Program\ Files\ (x86)/GameApi-Builder-v.0
wine gameapi_builder.exe

  • Application name: GameApi Builder
  • Application category: Modelling Tool, Gamedev
  • Operating system: Linux/Docker container
  • Graphics Card: NVidia
  • Download url: download tar.gz
(install docker, nvidia-container-toolkit)
sudo docker build -t builder-test:latest .
./run.sh

  • Application name: GameApi CmdLine
  • Application category: GameDisplay tool
  • Operating system: Linux/Docker container
  • Graphics Card: NVidia
  • Download url: download tar.gz
(install docker, nvidia-container-toolkit)
sudo docker build -t builder-test:latest .
./run.sh script.txt homepageurl

OR ON UBUNTU 25.04:
LD_LIBRARY_PATH=. ./gameapi_cmdline --file script.txt --homepage homepageurl

  • Application name: GameApi CmdLine
  • Application category: GameDisplay tool
  • Operating system: Windows
  • Download url: download zip
gameapi_cmdline.exe --file script.txt --homepage homepageurl