Add rocks
This commit is contained in:
parent
cce9ab1229
commit
10532552cf
5 changed files with 42 additions and 8 deletions
2
cc0.md
2
cc0.md
|
@ -1,6 +1,6 @@
|
||||||
# CC0
|
# CC0
|
||||||
|
|
||||||
CC0 is a [waiver](waiver.md) (similar to a [license](license.md)) of copyright, created by [Creative Commons](creative_commons.md), that can be used to dedicate one's work to the [public domain](public_domain.md) (kind of).
|
CC0 is a [waiver](waiver.md) (similar to a [license](license.md)) of [copyright](copyright.md), created by [Creative Commons](creative_commons.md), that can be used to dedicate one's work to the [public domain](public_domain.md) (kind of).
|
||||||
|
|
||||||
Unlike a license, a waiver such as this *removes* (at least effectively) the author's copyright; by using CC0 the author willingly gives up his own copyright so that the work will no longer be owned by anyone (while a license preserves the author's copyright while granting some rights to other people). It's therefore the most [free](free_software.md) and [permissive](permissive.md) option for releasing intellectual works. CC0 is designed in a pretty sophisticated way, it also waives "neighboring rights" ([moral rights](moral_rights.md)), and also contains a fallback license in case waiving copyright isn't possible in a certain country. For this CC0 is one of the best ways, if not the best, of truly and completely dedicating works to public domain world-wide (well, at least in terms of copyright). In this world of extremely fucked up [intellectual property](intellectual_property.md) laws it is not enough to state "my work is public domain" -- you need to use something like CC0 to achieve legally valid public domain status.
|
Unlike a license, a waiver such as this *removes* (at least effectively) the author's copyright; by using CC0 the author willingly gives up his own copyright so that the work will no longer be owned by anyone (while a license preserves the author's copyright while granting some rights to other people). It's therefore the most [free](free_software.md) and [permissive](permissive.md) option for releasing intellectual works. CC0 is designed in a pretty sophisticated way, it also waives "neighboring rights" ([moral rights](moral_rights.md)), and also contains a fallback license in case waiving copyright isn't possible in a certain country. For this CC0 is one of the best ways, if not the best, of truly and completely dedicating works to public domain world-wide (well, at least in terms of copyright). In this world of extremely fucked up [intellectual property](intellectual_property.md) laws it is not enough to state "my work is public domain" -- you need to use something like CC0 to achieve legally valid public domain status.
|
||||||
|
|
||||||
|
|
2
main.md
2
main.md
|
@ -12,7 +12,7 @@ This wiki is **NOT** a satire.
|
||||||
|
|
||||||
**Before contributing please read the [rules & style](wiki_style.md)!** {But contributions aren't really accepted RN :) ~drummyfish }
|
**Before contributing please read the [rules & style](wiki_style.md)!** {But contributions aren't really accepted RN :) ~drummyfish }
|
||||||
|
|
||||||
We have a **[C tutorial](c_tutorial.md)**!
|
We have a **[C tutorial](c_tutorial.md)**! It [rocks](rock.md).
|
||||||
|
|
||||||
Pay us a visit on the [Island](island.md)! And come mourn with us in the [cathedral](cathedral.md), because **technology is dying**. The future is dark but we do our best to bring the light, even knowing it is futile.
|
Pay us a visit on the [Island](island.md)! And come mourn with us in the [cathedral](cathedral.md), because **technology is dying**. The future is dark but we do our best to bring the light, even knowing it is futile.
|
||||||
|
|
||||||
|
|
18
rock.md
Normal file
18
rock.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Rock
|
||||||
|
|
||||||
|
Rocks and stones are natural formations of minerals that can be used to create the most primitive [technology](technology.md). Stone age was the first stage of our civilization; it was characterized by use of stone tools. Rock [nerds](nerd.md) are called geologists.
|
||||||
|
|
||||||
|
Rocks are pretty [suckless](suckless.md) and [LRS](lrs.md) because they are simple, they are everywhere, free and can be used in a number of ways such as:
|
||||||
|
|
||||||
|
- As a building material.
|
||||||
|
- For [fun](fun.md) and entertainment, you can play various games with rocks: rock skipping, petanque, even [chess](chess.md).
|
||||||
|
- As [weapons](weapon.md), even though we discourage this use.
|
||||||
|
- For making tools such as [knives](knife.md).
|
||||||
|
- To hold heat: you can e.g. heat stones in fire and let them heat you while you sleep.
|
||||||
|
- For writing, some can be used as a chalk, some may be used to carve text into. A dust from some rocks can be used to make dye to paint or write with.
|
||||||
|
- As weights.
|
||||||
|
- For help with counting (e.g. [abacus](abacus.md)) -- this makes rocks a kind of [computer](computer.md)!
|
||||||
|
- To make [art](art.md), decorations, small statues etc.
|
||||||
|
- For breaking things, grinding, sharpening etc.
|
||||||
|
- With advanced technology we can get metals out of rocks, extract geological knowledge from them etc.
|
||||||
|
- Some are pretty rare and can be used as a [currency](currency.md), even though we hate money and discourage this as well.
|
|
@ -2,20 +2,36 @@
|
||||||
|
|
||||||
Sofware (SW) rendering refers to [rendering](rendering.md) [computer graphics](graphics.md) without the help of [graphics card](gpu.md) (GPU), i.e. computing images only with [CPU](cpu.md). This mostly means rendering [3D](3d.md) graphics but can also refer to other kinds of graphics such as drawing [fonts](font.md) or [video](video.md). Before GPUs were invented, all rendering was done in software, of course -- games such as [Quake](quake.md) were designed with SW rendering and only added possible GPU acceleration later. SW rendering for traditional 3D graphics is also called software [rasterization](rasterization.md).
|
Sofware (SW) rendering refers to [rendering](rendering.md) [computer graphics](graphics.md) without the help of [graphics card](gpu.md) (GPU), i.e. computing images only with [CPU](cpu.md). This mostly means rendering [3D](3d.md) graphics but can also refer to other kinds of graphics such as drawing [fonts](font.md) or [video](video.md). Before GPUs were invented, all rendering was done in software, of course -- games such as [Quake](quake.md) were designed with SW rendering and only added possible GPU acceleration later. SW rendering for traditional 3D graphics is also called software [rasterization](rasterization.md).
|
||||||
|
|
||||||
SW rendering has advantages and disadvantages. Firstly it is **much slower** -- GPUs are designed to perform graphics-specific operations very quickly and, more importantly, they can compute many pixels in [parallel](parallelism.md), while a CPU has to compute pixels sequentially one by one and that in addition to all other computations it is otherwise performing. This causes a much lower [FPS](fps.md). For this reasons SW rendering is also normally of **lower quality** (lower resolution, [nearest neighbour](nn.md) interpolation, ...) to allow at least somewhat workable FPS.
|
SW rendering has advantages and disadvantages. Firstly it is **much slower** -- GPUs are designed to perform graphics-specific operations very quickly and, more importantly, they can process many pixels (and other elements) in [parallel](parallelism.md), while a CPU has to compute pixels sequentially one by one and that in addition to all other computations it is otherwise performing. This causes a much lower [FPS](fps.md) in SW rendering. For this reasons SW rendering is also normally of **lower quality** (lower resolution, [nearest neighbour](nn.md) texture filtering, ...) to allow at least somewhat workable FPS.
|
||||||
|
|
||||||
On the other hand SW rendering is more [portable](portability.md) (as it can be written in a portable language such as [C](c.md)), less [bloated](bloat.md) and **eliminates the [dependency](dependency.md) on GPU** so it will be supported almost anywhere as every computer has a CPU, while not all computers (such as [embedded](embedded.md) devices) have a GPU (or, if they have it, it may not be sufficient, supported or have a required [driver](driver.md)). SW rendering may also be implemented in a simpler way and it may be easier to deal with as there is e.g. no need to write [shaders](shader.md) in a special language, manage transfer of data between CPU and GPU or deal with parallel programming. It is the [KISS](kiss.md) approach.
|
On the other hand SW rendering is more [portable](portability.md) (as it can be written in a portable language such as [C](c.md)), less [bloated](bloat.md) and **eliminates the [dependency](dependency.md) on GPU** so it will be supported almost anywhere as every computer has a CPU, while not all computers (such as [embedded](embedded.md) devices) have a GPU (or, if they have it, it may not be sufficient, supported or have a required [driver](driver.md)). SW rendering may also be implemented in a simpler way and it may be easier to deal with as there is e.g. no need to write [shaders](shader.md) in a special language, manage transfer of data between CPU and GPU or deal with parallel programming. It is the [KISS](kiss.md) approach.
|
||||||
|
|
||||||
SW rendering may also utilize a much wider variety of rendering techniques than only 3D [rasterization](rasterization.md) traditionally used with [GPUs](gpu.md), thanks to not being limited by hard-wired pipelines. This may include [splatting](splatting.md), [raytracing](raytracing.md) or [BSP rendering](bsp.md) (and many other ["pseudo 3D"](pseudo3d.md) techniques).
|
SW rendering may also utilize a much wider variety of rendering techniques than only 3D [rasterization](rasterization.md) traditionally used with [GPUs](gpu.md) and their [APIs](api.md), thanks to not being limited by hard-wired pipelines. This may include [splatting](splatting.md), [raytracing](raytracing.md) or [BSP rendering](bsp.md) (and many other ["pseudo 3D"](pseudo3d.md) techniques).
|
||||||
|
|
||||||
A lot of software and rendering frameworks offer both options: accelerated rendering using GPU and SW rendering as a [fallback](fallback.md) (in case the first option is not possible). Sometimes there exists a rendering [API](api.md) that has both an accelerated and software implementation (e.g. [TinyGL](tinygl.md) for [OpenGL](opengl.md)).
|
A lot of software and rendering frameworks offer both options: accelerated rendering using GPU and SW rendering as a [fallback](fallback.md) (in case the first option is not possible). Sometimes there exists a rendering [API](api.md) that has both an accelerated and software implementation (e.g. [TinyGL](tinygl.md) for [OpenGL](opengl.md)).
|
||||||
|
|
||||||
For simpler and even somewhat more complex graphics **purely software rendering is a lot of times the best choice**. [LRS](lrs.md) suggests you prefer this kind of rendering for its simplicity and portability, at least as one possible option. On devices with lower resolution not many pixels need to be computed so SW rendering can actually be pretty fast despite low specs, and on "big" computers there is nowadays usually an extremely fast CPU available that can handle comfortable FPS at higher resolutions. There is a LRS software renderer you can use: [small3dlib](s3l.md).
|
For simpler and even somewhat more complex graphics **purely software rendering is a lot of times the best choice**. [LRS](lrs.md) suggests you prefer this kind of rendering for its simplicity and portability, at least as one possible option. On devices with lower resolution not many pixels need to be computed so SW rendering can actually be pretty fast despite low specs, and on "big" computers there is nowadays usually an extremely fast CPU available that can handle comfortable FPS at higher resolutions. There is a LRS software renderer you can use: [small3dlib](s3l.md).
|
||||||
|
|
||||||
Note that SW rendering doesn't mean we are not using [GPU](gpu.md) at all, in fact most personal computers nowadays **require** some kind of GPU to even display anything. SW rendering only means that computation of the image to be displayed doesn't use any hardware specialized for this purpose.
|
SW renderers are also written for the purpose of verifying rendering hardware, i.e. as a [reference implementation](reference_implementation.md).
|
||||||
|
|
||||||
|
Note that SW rendering doesn't mean our program is never touching [GPU](gpu.md) at all, in fact most personal computers nowadays **require** some kind of GPU to even display anything. SW rendering only means that computation of the image to be displayed doesn't use any hardware specialized for this purpose.
|
||||||
|
|
||||||
Some SW renderers make use of specialized CPU instructions such as [MMX](mmx.md) which can make SW rendering faster thanks to handling multiple data in a single step. This is kind of a mid way: it is not using a GPU per se but only a mild form of hardware acceleration. The speed won't reach that of a GPU but will outperform a "pure" SW renderer. However the disadvantage of a hardware dependency is still present: the CPU has to support the MMX instruction set. Good renderers only use these instructions optionally and fall back to general implementation in case MMX is not supported.
|
Some SW renderers make use of specialized CPU instructions such as [MMX](mmx.md) which can make SW rendering faster thanks to handling multiple data in a single step. This is kind of a mid way: it is not using a GPU per se but only a mild form of hardware acceleration. The speed won't reach that of a GPU but will outperform a "pure" SW renderer. However the disadvantage of a hardware dependency is still present: the CPU has to support the MMX instruction set. Good renderers only use these instructions optionally and fall back to general implementation in case MMX is not supported.
|
||||||
|
|
||||||
|
## Specific Renderers
|
||||||
|
|
||||||
|
These are some notable software renderers:
|
||||||
|
|
||||||
|
- **[Build engine](build_engine.md)**: While not a "true 3D", this was a very popular [proprietary](proprietary.md) [BSP rendering](bsp.md) engine for older games like Duke Nukem 3D or Blood.
|
||||||
|
- **[BRender](brender.md)**: Old [proprietary](proprietary.md) commercial renderer used in games such as Carmageddon, Croc or Harry Potter 1.
|
||||||
|
- **[id Tech](id_tech.md)**: Multiple engines by [Id software](id.md) (later made [FOSS](foss.md)) used for games like [Quake](quake.md) included a software renderer.
|
||||||
|
- **[Irrlich](irrlicht.md)**: [FOSS](foss.md) game engine including a software renderer as one of its [backends](backend.md).
|
||||||
|
- **[Mesa](mesa.md)**: [FOSS](foss.md) implementation of [OpenGL](opengl.md) that includes a software rasterizer.
|
||||||
|
- **[small3dlib](s3l.md)**: [LRS](lrs.md) [C](c.md) 3D rasterizer, very simple.
|
||||||
|
- **SSRE**: The guy who wrote [LIL](lil.md) also made this renderer named Shitty Software Rendering Engine, accessible [here](http://runtimeterror.com/tech/ssre/).
|
||||||
|
- **[TinyGL](tinygl.md)**: Implements a subset of [OpenGL](opengl.md).
|
||||||
|
- Many old [games](game.md) implemented their own software renderers, so you can look there.
|
||||||
|
|
||||||
## See Also
|
## See Also
|
||||||
|
|
||||||
- [pseudo/primitive 3D, 2.5D](pseudo3d.md)
|
- [pseudo/primitive 3D, 2.5D](pseudo3d.md)
|
|
@ -8,11 +8,11 @@ There are also many sister projects of Wikipedia such as [Wikimedia Commons](wm_
|
||||||
|
|
||||||
Information about hardware and software used by Wikimedia Foundation can be found at https://meta.wikimedia.org/wiki/Wikimedia_servers. As of 2022 Wikipedia runs of the traditional [LAMP](lamp.md) framework and its website doesn't require [JavaScript](javascript.md). [Debian](debian.md) [GNU](gnu.md)/[Linux](linux.md) is used on web servers (switched from [Ubunatu](ubuntu.md) in 2019). The foundation uses its own [wiki](wiki.md) engine called [MediaWiki](mediawiki.md) that's written mainly in [PHP](php.md). Database used is [MariaDB](mariadb.md). The servers run on server clusters in 6 different data centers around the world which are rented: 3 in the [US](usa.md), 3 in [Europe](europe.md) and 1 in [Asia](asia.md).
|
Information about hardware and software used by Wikimedia Foundation can be found at https://meta.wikimedia.org/wiki/Wikimedia_servers. As of 2022 Wikipedia runs of the traditional [LAMP](lamp.md) framework and its website doesn't require [JavaScript](javascript.md). [Debian](debian.md) [GNU](gnu.md)/[Linux](linux.md) is used on web servers (switched from [Ubunatu](ubuntu.md) in 2019). The foundation uses its own [wiki](wiki.md) engine called [MediaWiki](mediawiki.md) that's written mainly in [PHP](php.md). Database used is [MariaDB](mariadb.md). The servers run on server clusters in 6 different data centers around the world which are rented: 3 in the [US](usa.md), 3 in [Europe](europe.md) and 1 in [Asia](asia.md).
|
||||||
|
|
||||||
Wikipedia was created by [Jimmy Wales](jimmy_wales.md) and [Larry Sanger](larry_sanger.md) and was launched on 15 January 2001. It was made as a complementary project alongside [Nupedia](nupedia.md), an earlier encyclopedia by Wales and Sanger to which only verified experts could contribute. Wikipedia of course has shown to be a much more successful projects.
|
Wikipedia was created by [Jimmy Wales](jimmy_wales.md) and [Larry Sanger](larry_sanger.md) and was launched on 15 January 2001. It was made as a complementary project alongside [Nupedia](nupedia.md), an earlier encyclopedia by Wales and Sanger to which only verified experts could contribute. Wikipedia of course has shown to be a much more successful project.
|
||||||
|
|
||||||
There exist [forks](fork.md) and alternatives to Wikipedia. Simple English Wikipedia can offer a simpler alternative to sometimes overly complicated articles on the main English Wikipedia. [Citizendium](citizendium.md) is a similar, free online encyclopedia co-founded by [Larry Sanger](larry_sanger.md), a co-founder of Wikipedia itself. Citizendium's goal is to improve on some weak point of Wikipedia such as its reliability or quality of writing. [Metapedia](metapedia.md) is a Wikipedia fork that's written from a [rightist](left_right.md) point of view. Encyclopedia Britannica can also be used as a nice resource: its older versions are already [public domain](public_domain.md) and can be found e.g. at [Project Gutenberg](gutenberg.md), and there is also a modern online version of Britannica which is [proprietary](proprietary.md) but has pretty good articles even on modern topics (of course facts are always in the public domain).
|
There exist [forks](fork.md) and alternatives to Wikipedia. Simple English Wikipedia can offer a simpler alternative to sometimes overly complicated articles on the main English Wikipedia. [Citizendium](citizendium.md) is a similar, free online encyclopedia co-founded by [Larry Sanger](larry_sanger.md), a co-founder of Wikipedia itself. Citizendium's goal is to improve on some weak point of Wikipedia such as its reliability or quality of writing. [Metapedia](metapedia.md) is a Wikipedia fork that's written from a [rightist](left_right.md) point of view. Encyclopedia Britannica can also be used as a nice resource: its older versions are already [public domain](public_domain.md) and can be found e.g. at [Project Gutenberg](gutenberg.md), and there is also a modern online version of Britannica which is [proprietary](proprietary.md) but has pretty good articles even on modern topics (of course facts are always in the public domain). Practically for any specialized topic it is nowadays possible to find its own wiki on the Internet.
|
||||||
|
|
||||||
## Good and Bad Things about Wikipedia
|
## Good And Bad Things About Wikipedia
|
||||||
|
|
||||||
Let's note a few positive and negative points about Wikipedia, as of 2022. Some good things are:
|
Let's note a few positive and negative points about Wikipedia, as of 2022. Some good things are:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue