-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a272888
commit e4d2b9f
Showing
4,427 changed files
with
3,848,672 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<br> | ||
<a href="./index.html#en/webgpu_custom_fog">Homepage</a><br> | ||
|
||
<H3>Free Webmaster Demo's and Downlaod's</H3> | ||
For educational purposes only elaborations are listed below<br> | ||
<a href="./manual/index.html#en/webgpu_custom_fog">manual demo</a><br> | ||
Search for word creates webpage for that word<br> | ||
displays search results page with link to that word on webpage.<br> | ||
new features will be added in next zip download.<br> | ||
you need webserver pages have php html css js.<br> | ||
<a href="#">manual.zip</a></br> | ||
|
||
|
||
Welcome to the About page<br> | ||
Prerequisites:<br> | ||
You will need a open source stand alone webserver<br> | ||
the web pages contain php html css js.<br> | ||
Be brave and explore the files and folders<br> | ||
Yes, you can edit all of this code on every page.<br> | ||
-----------------<br> | ||
I built this website offline with random open source projects<br> | ||
and many other cool sources of clean code.<br> | ||
on my iphone on offline wifi network<br> | ||
some of these things work offline.<br> | ||
my iphone is Iphone SE<br> | ||
up to date IOS 17.4.1<br> | ||
I downloaded a php server combined with web server app named phpwin.<br> | ||
I always focus on programing <br> | ||
web based stand alone <br> | ||
servers<br> | ||
applications<br> | ||
ect.<br> | ||
-----------------<br> | ||
i am always testing the capabilities of my website in developer mode.<br> | ||
-----------------<br> | ||
application: stand Alone <br> | ||
source code: open-source<br> | ||
mode: developer mode <br> | ||
-----------------<br> | ||
communication<br> | ||
web accessibility<br> | ||
data information visualization<br> | ||
-----------------<br> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,183 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<title>manual</title> | ||
<meta charset="utf-8"> | ||
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> | ||
<link type="text/css" rel="stylesheet" href="./manual/en/main.css"> | ||
</head> | ||
<body> | ||
<div id="info"> | ||
<a href="./manual/index.html#en/webgpu_custom_fog" target="_blank" rel="noopener">Start Game</a><br> | ||
when you search a keyword <br> | ||
manual writes that keyword onto an html page <br> | ||
that html page is named that keyword you searched.<br> | ||
in future update i will automate manaul to<br> | ||
automatically add newest keywords to the sidebar menu.<br> | ||
|
||
<center> | ||
<iframe src="https://www.youtube.com/embed?listType=playlist&list=PLwMe8hyy9osJ12XuqlqRcsPQ1qkOMt9O8&si=eeYl2_GhE_kXMb62&autoplay=1" width="150" height="100" frameborder="20"></iframe> | ||
</div> | ||
|
||
<script type="importmap"> | ||
{ | ||
"imports": { | ||
"three": "./manual/build/three.module.js", | ||
"three/addons/": "./manual/jsm/", | ||
"three/nodes": "./manual/jsm/nodes/Nodes.js" | ||
} | ||
} | ||
</script> | ||
|
||
<script type="module"> | ||
|
||
import * as THREE from 'three'; | ||
import { color, fog, float, positionWorld, triNoise3D, positionView, normalWorld, uniform, MeshPhongNodeMaterial } from 'three/nodes'; | ||
|
||
import WebGPU from 'three/addons/capabilities/WebGPU.js'; | ||
import WebGL from 'three/addons/capabilities/WebGL.js'; | ||
|
||
import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js'; | ||
|
||
import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; | ||
|
||
let camera, scene, renderer; | ||
let controls; | ||
|
||
init(); | ||
|
||
function init() { | ||
|
||
if ( WebGPU.isAvailable() === false && WebGL.isWebGL2Available() === false ) { | ||
|
||
document.body.appendChild( WebGPU.getErrorMessage() ); | ||
|
||
throw new Error( 'No WebGPU or WebGL2 support' ); | ||
|
||
} | ||
|
||
camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 600 ); | ||
camera.position.set( 30, 15, 30 ); | ||
|
||
scene = new THREE.Scene(); | ||
|
||
// custom fog | ||
|
||
const skyColor = color( 0xf0f5f5 ); | ||
const groundColor = color( 0xd0dee7 ); | ||
|
||
const fogNoiseDistance = positionView.z.negate().smoothstep( 0, camera.far - 300 ); | ||
|
||
const distance = fogNoiseDistance.mul( 20 ).max( 4 ); | ||
const alpha = .98; | ||
const groundFogArea = float( distance ).sub( positionWorld.y ).div( distance ).pow( 3 ).saturate().mul( alpha ); | ||
|
||
// a alternative way to create a TimerNode | ||
const timer = uniform( 0 ).onFrameUpdate( ( frame ) => frame.time ); | ||
|
||
const fogNoiseA = triNoise3D( positionWorld.mul( .005 ), 0.2, timer ); | ||
const fogNoiseB = triNoise3D( positionWorld.mul( .01 ), 0.2, timer.mul( 1.2 ) ); | ||
|
||
const fogNoise = fogNoiseA.add( fogNoiseB ).mul( groundColor ); | ||
|
||
// apply custom fog | ||
|
||
scene.fogNode = fog( fogNoiseDistance.oneMinus().mix( groundColor, fogNoise ), groundFogArea ); | ||
scene.backgroundNode = normalWorld.y.max( 0 ).mix( groundColor, skyColor ); | ||
|
||
// builds | ||
|
||
const buildWindows = positionWorld.y.mul( 10 ).floor().mod( 4 ).sign().mix( color( 0x000066 ).add( fogNoiseDistance ), color( 0xffffff ) ); | ||
|
||
const buildGeometry = new THREE.BoxGeometry( 1, 1, 1 ); | ||
const buildMaterial = new MeshPhongNodeMaterial( { | ||
colorNode: buildWindows | ||
} ); | ||
|
||
const buildMesh = new THREE.InstancedMesh( buildGeometry, buildMaterial, 4000 ); | ||
scene.add( buildMesh ); | ||
|
||
const dummy = new THREE.Object3D(); | ||
const center = new THREE.Vector3(); | ||
|
||
for ( let i = 0; i < buildMesh.count; i ++ ) { | ||
|
||
const scaleY = Math.random() * 7 + .5; | ||
|
||
dummy.position.x = Math.random() * 600 - 300; | ||
dummy.position.z = Math.random() * 600 - 300; | ||
|
||
const distance = Math.max( dummy.position.distanceTo( center ) * .012, 1 ); | ||
|
||
dummy.position.y = .5 * scaleY * distance; | ||
|
||
dummy.scale.x = dummy.scale.z = Math.random() * 3 + .5; | ||
dummy.scale.y = scaleY * distance; | ||
|
||
dummy.updateMatrix(); | ||
|
||
buildMesh.setMatrixAt( i, dummy.matrix ); | ||
|
||
} | ||
|
||
// lights | ||
|
||
scene.add( new THREE.HemisphereLight( skyColor.value, groundColor.value, 0.5 ) ); | ||
|
||
// geometry | ||
|
||
const planeGeometry = new THREE.PlaneGeometry( 200, 200 ); | ||
const planeMaterial = new THREE.MeshPhongMaterial( { | ||
color: 0x999999 | ||
} ); | ||
|
||
const ground = new THREE.Mesh( planeGeometry, planeMaterial ); | ||
ground.rotation.x = - Math.PI / 2; | ||
ground.scale.multiplyScalar( 3 ); | ||
ground.castShadow = true; | ||
ground.receiveShadow = true; | ||
scene.add( ground ); | ||
|
||
// renderer | ||
|
||
renderer = new WebGPURenderer( { antialias: true } ); | ||
renderer.setPixelRatio( window.devicePixelRatio ); | ||
renderer.setSize( window.innerWidth, window.innerHeight ); | ||
renderer.setAnimationLoop( animate ); | ||
document.body.appendChild( renderer.domElement ); | ||
|
||
// controls | ||
|
||
controls = new OrbitControls( camera, renderer.domElement ); | ||
controls.target.set( 0, 2, 0 ); | ||
controls.minDistance = 7; | ||
controls.maxDistance = 100; | ||
controls.maxPolarAngle = Math.PI / 2; | ||
controls.autoRotate = true; | ||
controls.autoRotateSpeed = .1; | ||
controls.update(); | ||
|
||
window.addEventListener( 'resize', resize ); | ||
|
||
} | ||
|
||
function resize() { | ||
|
||
camera.aspect = window.innerWidth / window.innerHeight; | ||
camera.updateProjectionMatrix(); | ||
|
||
renderer.setSize( window.innerWidth, window.innerHeight ); | ||
|
||
} | ||
|
||
function animate() { | ||
|
||
controls.update(); | ||
|
||
renderer.render( scene, camera ); | ||
|
||
} | ||
|
||
</script> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
<?php | ||
header_remove( 'X-Powered-By' ); | ||
header( 'Cache-control: none, no-cache, private, max-age=0' ); | ||
header( 'Pragma: no-cache' ); | ||
header( 'Content-Type-Options: nosniff' ); | ||
header( 'X-Content-Type-Options: nosniff' ); | ||
header( 'XSS-Protection: 1; mode=block' ); | ||
header( 'X-XSS-Protection: 1; mode=block' ); | ||
header( 'Vary: Accept-Encoding' ); | ||
header( 'viewport: width=device-width, initial-scale=1.0' ); | ||
header( 'Accept-Language: en-US,en;q=0.5' ); | ||
header( 'Connection: Keep-alive' ); | ||
header( 'Host: manual' ); | ||
header( 'description: manual' ); | ||
header( 'keywords: manul' ); | ||
header( 'Vary: Accept-Encoding' ); | ||
header( 'Expires: 0' ); | ||
header( 'Referrer-Policy: no-referrer' ); | ||
header("Location: ./index.html"); | ||
?> | ||
<!DOCTYPE html> | ||
<!-- | ||
secured | ||
--> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="utf-8"> | ||
<meta http-equiv="X-UA-Compatible" content="IE=Edge;chrome=1"> | ||
<meta name="apple-mobile-web-app-capable" content="yes"> | ||
<meta name="viewport" content="width=device-width, initial-scale=0.56, maximum-scale=0.56, user-scalable=no"> | ||
<meta http-equiv="Cache-Control" content="private, no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0" /> | ||
<meta http-equiv="Pragma" content="no-cache" /> | ||
<meta http-equiv="Expires" content="0" /> | ||
<link rel="icon" type="image/png" href="favicon.ico"> | ||
<title>manual</title> | ||
</head> | ||
<body> | ||
<!<body onload="secured()"> | ||
<script> | ||
"use strict"; | ||
/* global Peer */ | ||
/** | ||
secured | ||
**/ | ||
function secured() { | ||
alert("secured"); | ||
} | ||
</script> | ||
<!<body="button" bgcolor="black" class="pagebutton" type="button" onclick="alert('Click next to confirm command.')"> | ||
<!<body bgcolor="black"> | ||
<!<p style="color:green"> | ||
<!</button> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
<?php | ||
|
||
/* | ||
====================================================================== | ||
LastRSS bridge script- By Dynamic Drive (http://www.dynamicdrive.com) | ||
Communicates between LastRSS.php to Advanced Ajax ticker script using Ajax. Returns RSS feed in XML format | ||
Created: Feb 9th, 2006. Updated: Feb 9th, 2006 | ||
====================================================================== | ||
*/ | ||
|
||
header('Content-type: text/xml'); | ||
|
||
// include lastRSS | ||
include "./lastRSS.php"; //path to lastRSS.php on your server from this script ("bridge.php") | ||
|
||
// Create lastRSS object | ||
$rss = new lastRSS; | ||
$rss->cache_dir = 'cache'; //path to cache directory on your server from this script. Chmod 777! | ||
$rss->date_format = 'M d, Y g:i:s A'; //date format of RSS item. See PHP date() function for possible input. | ||
|
||
// List of RSS URLs | ||
$rsslist=array( | ||
"Google" => "https://news.google.com/?output=rss", | ||
"BBC" => "https://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml", | ||
"news.com" => "https://news.com.com/2547-1_3-0-5.xml", | ||
"slashdot" => "https://rss.slashdot.org/Slashdot/slashdot", | ||
"dynamicdrive" => "https://www.dynamicdrive.com/export.php?type=new" | ||
); | ||
|
||
////Beginners don't need to configure past here//////////////////// | ||
|
||
$rssid=$_GET['id']; | ||
$rssurl=isset($rsslist[$rssid])? $rsslist[$rssid] : die("Error: Can't find requested RSS in list."); | ||
|
||
// ------------------------------------------------------------------- | ||
// outputRSS_XML()- Outputs the "title", "link", "description", and "pubDate" elements of an RSS feed in XML format | ||
// ------------------------------------------------------------------- | ||
|
||
function outputRSS_XML($url) { | ||
global $rss; | ||
$cacheseconds=(int) $_GET["cachetime"]; //typecast "cachetime" parameter as integer (0 or greater) | ||
$rss->cache_time = $cacheseconds; | ||
if ($rs = $rss->get($url)) { | ||
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<rss version=\"2.0\">\n<channel>\n"; | ||
foreach ($rs['items'] as $item) { | ||
echo "<item>\n<link>$item[link]</link>\n<title>$item[title]</title>\n<description>$item[description]</description>\n<pubDate>$item[pubDate]</pubDate>\n</item>\n\n"; | ||
} | ||
echo "</channel></rss>"; | ||
if ($rs['items_count'] <= 0) { echo "<li>Sorry, no items found in the RSS file :-(</li>"; } | ||
} | ||
else { | ||
echo "Sorry: It's not possible to reach RSS file $url\n<br />"; | ||
// you will probably hide this message in a live version | ||
} | ||
} | ||
|
||
// =============================================================================== | ||
|
||
outputRSS_XML($rssurl); | ||
|
||
?> |
Oops, something went wrong.