Compiled using the new C backend for better performance! I'm especially Interested in getting feedback on graphical performance (is it smooooth?) and CPU usage.
OS: Windows 8 and higher
Screenshot:

Download (55KB)
GFX credits: Roman De Giuli
Thanks for testing it! I've just posted a new release, with a fix for high-DPI displays.Paul wrote: Sat Jun 26, 2021 6:49 pm Quite high CPU usage on a high end desktop and is not DPI aware so it only displays on a small portion of the desktop.
Also don't know how to stop it other than to kill process which then leaves the desktop in a bit of a mess (not restored back to original)
Is it just playing a video from YouTube?
Code: Select all
<head>
<meta charset="UTF-8">
<style>
body{padding:0px; margin:0px; overflow:hidden;}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/110/three.min.js">
</script>
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
<div id="WebGL-output"></div>
<!-- partial -->
<script>
$(function (){
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(new THREE.Color(0x2e7c95,1.0));
scene.fog = new THREE.FogExp2( 0x3690ae, 0.0085 );
var groundGeo = new THREE.PlaneGeometry(400,400,4,4);
var groundMat = new THREE.MeshPhongMaterial({color:0x244876});
groundMat.shininess = 100;
var ground = new THREE.Mesh(groundGeo,groundMat);
scene.add(ground);
ground.position.x = 140;
ground.position.y = 0;
ground.position.z = -150;
ground.rotation.x = -1.55;
camera.position.x = 0;
camera.position.y = 25;
camera.position.z = 0;
camera.rotation.y = -0.785398163;
camera.rotation.z = -0.280;
camera.rotation.x = -0.400;
var directionalLight = new THREE.DirectionalLight( 0xffffff, 1 );
directionalLight.position.set( -20, 10, 30 );
scene.add( directionalLight );
var pointLight = new THREE.PointLight( 0xff0000, 10, 100 );
scene.add(pointLight);
var monolith = [];
var monolithGeo = new THREE.CubeGeometry( 4,4,4);
var monolithMat = new THREE.MeshPhongMaterial( {color: 0x244876});
monolithMat.shininess = 100;
var monolithRow = [];
var rowZ = 0;
for (r=0; r<35; r++){
rowZ -= 10;
for (i=0; i<35; i++){
monolith[i] = new THREE.Mesh(monolithGeo, monolithMat);
monolith[i].position.x = i*10;
monolith[i].position.y = 0;
monolith[i].position.z = rowZ;
var rand = Math.ceil(Math.random()*10);
monolith[i].scale.y = rand;
scene.add(monolith[i]);
}
}
render();
function render(){
requestAnimationFrame(render);
camera.position.z -= 0.1;
camera.position.x += 0.1;
pointLight.position.set(camera.position.x,camera.position.y,camera.position.z);
renderer.render(scene, camera);
};
$("#WebGL-output").append(renderer.domElement);
});
</script>
</body>
I just posted a new release with the following changes:Paul wrote: Sun Jun 27, 2021 2:34 pm Ok, didn't notice the tray icon since it shows as a small green checkmark on both Win10 and Win8.1
On Win7 it shows as a small folder with a green plus sign but nothing is ever displayed on the screen.
On both Win8 and Win10 the video is now displayed on the entire desktop. On a regular monitor the display looks pretty cool but on a 4K monitor with 150% DPI scaling it looks very blocky and pixelated. It looks like it's picking a low res video and just scaling it up instead of picking an HD or 4K video stream. CPU usage is anywhere between 15% and 30%
It would not display the WebGL 3D city flyover. It just sits there at "Initializing".
Just a small note... it should not allow me to start multiple copies of the app
EDIT: just updated to latest version of Win10 and CPU is now between 10% - 13% on first run then going up to 18% - 20% when video finishes and restarts.
I'm also assuming the black bars on the top and bottom of video are due to aspect ratio of the video and your app only stretches the width (with height keeping proper ratio of video)
About video quality: I don't have a 4K monitor to reproduce the issue, but sometimes YouTube insists on playing low-res streams due to an invalid cookie. So It could help to clear the system webview cookies by running this PB one-liner:Paul wrote: Mon Jun 28, 2021 2:34 pm I can see the city animation now, pretty cool !!
The videos are still not good quality on 4K monitor. Watching directly from YouTube they look great.
Code: Select all
RunProgram("RunDll32", "InetCpl.cpl,ClearMyTracksByProcess 258", "")
Thanks for the nice feedback TFT. I haven't yet decided what to do with this program, as I am busy with many other projects currently. Hopefully I will further develop it when I have more time - meanwhile I will try add a few more videos/webGL scenes from time to time.tft wrote: Sun Jul 18, 2021 6:42 pm Great tool. On my 7 year old i5 with 3 monitors and a GTX Titan also 7 years old. It works great. Only the selection of the monitor is not correct. The middle monitor is number 1. I would be very interested in this tool. I hope you make it a public tool.
TFT
If you try again a few times (eg 4-5 times), it should eventually work. The application loads a random animation/video from a list at startup, but some of the animations no longer exist, which cause the "video unavailable" message. I will try to update the package soon.BarryG wrote: Sun Nov 26, 2023 3:03 am Sorry to report this, but "animdesk.exe" just shows a dark screen with "This video is unavailable" on it.
Code: Select all
path-to\animdesk.exe path-to\effects\ocean\demo\main.fx