- crosshair does not have exactly the same place on each eye so ... as expected, has made sometimes the vision difficult to focus on environment, or crosshair, or environment, or crosshair, or env... (sick ! )... it should be exactly centered on each eye independantly of each eye camera angle
- eyes spacing (camera angle) could be higher for better depth rendering)
- and the last, for Daydream headset or FreeFly, the Distortion of each image is not well calibrated but you can't do anything for this actually (unresolvable without the real cardboard API and custom headset QR code calibration...Paul ? one day ? )... or you could create a distortion calibration screen with horizontal and vertical lines and ask the player to play with distortion parameters until it's ok for his own headset.

Made 3 different VR render modes, If anyone could test this and let me know what mode gives the best effect that would be great
Eye camera space and FOV can be adjusted real-time in all modes, so you can calibrate to your VR headset.

I Tested all pictures with my cardboard VR.
I liked the 3rd most because the cross hair looked like it was in front of my camera in 3D space, like I suggested in the other thread and not sticked somewhere on the skybox far away.
In mode 4 the cross hair was way too far away from each other I couldn't focus on one without loosing the other...hope you know what I mean.
The second picture was the worst for me...I couldn't focus at the gun or the palm on the left side...

VR rendering is ready for field testing so it will released in its current state.
VR: Added 3 types of crosshair, so you can select what you like, also added a laser sight that always hit where you shoot ( crosshair can also do that now , or be placed in 3d ).
VR: Have around 6 parameters you can adjust real-time to get the best effect on your VR gear

WIP for next update:
Reflection on floor.
Baked illumination maps ( you do not have to do anything, if it find a illumination map it will be baked, this is done while doing media collection, so everything is just as fast ).
Spray decals on walls for more variation on your textures.
...

Sorry only recorded Mic, so no game sound effects.

With floor reflection i think GG Loader/AGK looks just as good as Unreal or Unity, Check it out

Floor reflection can now be triggered so you can switch from water to floor reflection, depending on, if your inside or outside.
If you use a flat terrain you can now also use it to display the terrain as if it was wet:

You cant really see how the reflection looks in the video , so i attached a few screenshots

Edit: also you can now set how much reflection you like all the way up to a direct mirror.

best regards Preben Eriksen,

Attachments

Real-time, 1 pass ,1 texture, environment mapping not using cubemaps, it was not possible to make it 100% accurate so i made it a fake one, if you look very closely you can see the trick. Anyway it looks GREAT so i will keep the code in GG Loader if you want to use it for a demo, or just use it in its current state , it was not accurate en-off for PBR or a mirror, but can be used to make a great looking scene ( if you dont use it for mirrors, only the trained eye will notice ). Need to find another way to pack the environment map into a single texture so it can be used on mobiles, got a few ideas to try out so wish me luck

This is not real-time but baked reflection maps, so they can be used for mobiles / PBR ... The process: Generate 6 Skybox / cubemap textures , convert them into a cross cubemap texture, then using a memblock to convert into a equirectangular 360x180 degree panorama texture. The shader then take the reflect direction and map it into the equirectangular panorama uv. I did not see any reflection problems so you can get the same result as using cubemaps, but only using 1 texture instead of the 6 cubemap textures

This is going to be used after Lee finish the PBR shading for GameGuru , so we also get the reflection effects in AGK.

The video use a PBR metal texture using the metallic/smoothness workflow ( no PBR colors yet ):

Now with 3 different reflection probes types, You can reflect from outside ( the normal way use rprobe.lua ) or from inside perhaps in a house where you want reflections on walls/floor/ceiling ( use rprobecenter.lua ) , and a direct mirror reflection that also create all the PBR textures for you, just select rprobemirror.lua on a object and everything else is 100% auto, no need to make any textures yourself.
Everything use a probe cache, so only if you create new objects / or if you move a object, the cache will be updated, this is 100% auto. Everything is also auto baked so it will never slow down the loading time on your final game.

All reflection now react on Alpha , so if you use any current non PBR media like a window, if will get environment reflections. If it finds a metallic texture it will use this ( a standard PBR textures ), and it also support reflections from specular maps, this can also be used with current non PBR media.

This video dont really show how good the reflection probes looks, i tried to do something different and made some code for real-time beat detection on mp3,wav files, so it ended up with this video. The real-time beat detection is also included in GameGuru Loader source. Make your next game rock to the music

Does the sample code include an example on how to implement mouse look properly? Without the need to click and drag as in the demo bundled with AppGameKit, but more like real FPS controls. I have been able to correctly implement this on Windows, but I’m having problems when centering the mouse on macOS and HTML5.

janbo: i generate reflection probes , so anything on the object can have reflection also walls , there are many different types of probes , like inner reflection if you have a house and like it to reflect the inside surrounding of the house instead of the normal outside of the house , or normal env. reflection that reflect the surrounding of the object , there are also stuff like mirrors/puddles/ice ... so basically you can set how you like the reflection and everything is automatic.

I think I saw a reflection which didn't curve with the surface normals in an earlier video which can only happen if you either made a mistake or you don't have the range of reflections needed...thats why I asked...but that changed for sure ?!

Nice
Does that mean you generate for every possible reflection a new env-map ?
Well I only can imagine of one other way to do it: to create a few env-maps with a certain distance and interpolate between them to reduce the amount of env-maps.
Which also increases the calculation cost a bit, but in return creates the possibility to have reflections on dynamic objects.

janbo:
Sorry for the delay , i had tons of work getting PBR working in GameGuru and AGK.

Quote: "reflection which didn't curve with the surface normals"

That must have been some of the "fake" tests ? , anyway everything is now real and also respect the normals
It includes 3 types of reflection maps :
Generic - generic reflection map based on skybox and terrain settings.
Inner - generated reflection probe from the inside of a object ( for indoor scenes ).
Outer - generate reflection probe based on the objects surroundings.
Reflection probes are saved on disk in a probe cache , so it works kind of like a lightmapper just using reflections.

Attachments

I must say these scenes resulting from your import process(es) look fantastic. In fact, it is looking like AppGameKit, Game Guru and your GGLoader are actually serious competition for Unity and Unreal as far as ease of building superb looking playable game worlds. Really excellent work!!

Draw call optimizer.
Now PBR also works on Android devices with no texture LOD support.
When running on mobiles, it now use graphic buttons for navigation by default.
Automatic adjusting of screensize to match the aspect ratios of the mobile device it is running on.
Physics playground mode, turns all objects on your level into physics objects, interact with the physics using your gun. Can be used to test how your object react in the physics world to make it more easy to adjust your models for use with physics. ( its also great fun, give it a try ).
Optimized function and bug fixes.

-- pbrdemo.zip --

PBR DEMO GAME - full source code ready to run - learn:
How to make a loading screens.
How to add graphics buttons , also to mobile version for fire and navigation.
How to add progress/level up menu or screens to your game.
How to use PBR media in your games.
How to add physics to your game.
How to display text to the player.
How to make a small score system.
How to do a level up / progress , and assign a new task to the player.

If you purchased GameGuru Loader your free to use any of the included assets in any of your games or apps.

The GameGuru level file .fpm is also included and all the media to use in GameGuru.

No need to do anything , just unzip the source and hit "run", or use "Broadcast" to play on your mobile.

-- pbrdemo-assets.zip --

Assets included for use in GameGuru.
Use this to learn how to make PBR materials and how to setup PBR object for use in GameGuru and GameGuru Loader.

Unzip the ggloader folder into your GameGuru Entitybank.
Unzip the file pbr-demo.fpm , into your GameGuru Mapbank.
You are now ready to load the PBR demo level into GameGuru.

Added ragdool physics:
Tested more then 50 characters and added all the different bone names/setup to make a single function that can add ragdoll physics to your characters.
Function CreateRagdoll(objID)

The Kinematic Bullet:
You can now shoot a actual kinematic bullet to interact with ragdoll physics. And still have the linear velocity set for all other types of object.

Center of mass:
All objects in the world will now have the center of mass in the actual center of the objects, no matter what the origin of the object is set to, so physic now act correct, object is restored at the exact same world position after the change of vertex data.

Collision mesh:
Objects still have a separate collision mesh that now also follow the physics, so you can mix physics and non physics objects with no problems.

If you use the functions with GameGuru Loader you just set "ragdoll = 1" and everything is handled for you.

Rick Nasher:
Just tried and i did not find any duplicates ?, but i did notice that your actually able to shoot the balls over the hills, and if you do they will keep rolling all the way to the edges where they will start to jump when they hit the water

Golelorn:
FXAA-CV-LS i made this to sharpen the textures for more details, its a post processing shader so it will work on anything or in any game/app,
It kind of works like if you take a screenshot and put it into Photoshop and then select sharpen, it just does this really fast. so its on by default in GameGuru Loader even on mobiles.

If you got GameGuru Loader you can take out this piece and put it into your game, should give you way better results. you find it here: \ggloader\media\postp\fxaa.ps.

Under Water: New post processing shaders for both GameGuru and GameGuru Loader ( AppGameKit ) , Now you can make those great looking underwater levels. The effect can also be triggered above water if you like, use SetShaderConstantByName in AppGameKit or SetShaderVariable in GameGuru lua.

Quote: " Just tried and i did not find any duplicates ?, but i did notice that your actually able to shoot the balls over the hills, and if you do they will keep rolling all the way to the edges where they will start to jump when they hit the water "

That could be the case too, but there were so many didn't think could be. Were hard to find though. lol
Will try and let you know, but you're probably right I'm guessing.

Like the underwater shader stuff. Pretty cool. Only need to add a shark and there's no escape fleeing into the sea.

@Preben , currently there is no protection for the game assets in media folder. Do you have any plan to add in asset protections ? Kinda sad that we just exposed the raw assets like that. Anybody can just copy and use them without any problem. Worst thing if you paid someone to do the assets for your games.

You could also try to use the https://forum.thegamecreators.com/thread/220121?page=2 , WadPacker.

But yes i agrees we need some kind of protection, but whatever we make it will always make everything to slow to actually be useful (TIER1), the only way to get protection is if TGC make support for it in AppGameKit, just the possibility to have password protected zip's would do it.

Until then try the enigma protector its pretty easy to use and works perfectly