dbf-udg
changeset 12:1abbed71e9c9
cleanup, copyright statements and notices, readme files
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Wed, 20 Feb 2013 05:45:27 +0200 |
parents | 5f99c4c7a9fe |
children | 6a836b1dc31b |
files | COPYING Makefile README data/foo.png data/hieroglyph.png data/hieroglyph2.png libs/dsys2/COPYING libs/dsys2/README libs/dsys2/dsys.c libs/dsys2/dsys.h libs/dsys2/dsys_impl.h libs/metasurf/COPYING libs/metasurf/COPYING.LESSER libs/metasurf/README sdr/dither.p.glsl sdr/dither.v.glsl sdr/phong.p.glsl sdr/phong.v.glsl src/dither_matrix.h src/mballs.cc src/mballs.h src/opengl.h src/post.cc src/post.h src/scroller.cc src/scroller.h src/sdr.c src/sdr.h src/texture.c src/texture.h src/udg.cc src/udg.h |
diffstat | 32 files changed, 2575 insertions(+), 141 deletions(-) [+] |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/COPYING Wed Feb 20 05:45:27 2013 +0200 1.3 @@ -0,0 +1,674 @@ 1.4 + GNU GENERAL PUBLIC LICENSE 1.5 + Version 3, 29 June 2007 1.6 + 1.7 + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> 1.8 + Everyone is permitted to copy and distribute verbatim copies 1.9 + of this license document, but changing it is not allowed. 1.10 + 1.11 + Preamble 1.12 + 1.13 + The GNU General Public License is a free, copyleft license for 1.14 +software and other kinds of works. 1.15 + 1.16 + The licenses for most software and other practical works are designed 1.17 +to take away your freedom to share and change the works. By contrast, 1.18 +the GNU General Public License is intended to guarantee your freedom to 1.19 +share and change all versions of a program--to make sure it remains free 1.20 +software for all its users. We, the Free Software Foundation, use the 1.21 +GNU General Public License for most of our software; it applies also to 1.22 +any other work released this way by its authors. You can apply it to 1.23 +your programs, too. 1.24 + 1.25 + When we speak of free software, we are referring to freedom, not 1.26 +price. Our General Public Licenses are designed to make sure that you 1.27 +have the freedom to distribute copies of free software (and charge for 1.28 +them if you wish), that you receive source code or can get it if you 1.29 +want it, that you can change the software or use pieces of it in new 1.30 +free programs, and that you know you can do these things. 1.31 + 1.32 + To protect your rights, we need to prevent others from denying you 1.33 +these rights or asking you to surrender the rights. Therefore, you have 1.34 +certain responsibilities if you distribute copies of the software, or if 1.35 +you modify it: responsibilities to respect the freedom of others. 1.36 + 1.37 + For example, if you distribute copies of such a program, whether 1.38 +gratis or for a fee, you must pass on to the recipients the same 1.39 +freedoms that you received. You must make sure that they, too, receive 1.40 +or can get the source code. And you must show them these terms so they 1.41 +know their rights. 1.42 + 1.43 + Developers that use the GNU GPL protect your rights with two steps: 1.44 +(1) assert copyright on the software, and (2) offer you this License 1.45 +giving you legal permission to copy, distribute and/or modify it. 1.46 + 1.47 + For the developers' and authors' protection, the GPL clearly explains 1.48 +that there is no warranty for this free software. For both users' and 1.49 +authors' sake, the GPL requires that modified versions be marked as 1.50 +changed, so that their problems will not be attributed erroneously to 1.51 +authors of previous versions. 1.52 + 1.53 + Some devices are designed to deny users access to install or run 1.54 +modified versions of the software inside them, although the manufacturer 1.55 +can do so. This is fundamentally incompatible with the aim of 1.56 +protecting users' freedom to change the software. The systematic 1.57 +pattern of such abuse occurs in the area of products for individuals to 1.58 +use, which is precisely where it is most unacceptable. Therefore, we 1.59 +have designed this version of the GPL to prohibit the practice for those 1.60 +products. If such problems arise substantially in other domains, we 1.61 +stand ready to extend this provision to those domains in future versions 1.62 +of the GPL, as needed to protect the freedom of users. 1.63 + 1.64 + Finally, every program is threatened constantly by software patents. 1.65 +States should not allow patents to restrict development and use of 1.66 +software on general-purpose computers, but in those that do, we wish to 1.67 +avoid the special danger that patents applied to a free program could 1.68 +make it effectively proprietary. To prevent this, the GPL assures that 1.69 +patents cannot be used to render the program non-free. 1.70 + 1.71 + The precise terms and conditions for copying, distribution and 1.72 +modification follow. 1.73 + 1.74 + TERMS AND CONDITIONS 1.75 + 1.76 + 0. Definitions. 1.77 + 1.78 + "This License" refers to version 3 of the GNU General Public License. 1.79 + 1.80 + "Copyright" also means copyright-like laws that apply to other kinds of 1.81 +works, such as semiconductor masks. 1.82 + 1.83 + "The Program" refers to any copyrightable work licensed under this 1.84 +License. Each licensee is addressed as "you". "Licensees" and 1.85 +"recipients" may be individuals or organizations. 1.86 + 1.87 + To "modify" a work means to copy from or adapt all or part of the work 1.88 +in a fashion requiring copyright permission, other than the making of an 1.89 +exact copy. The resulting work is called a "modified version" of the 1.90 +earlier work or a work "based on" the earlier work. 1.91 + 1.92 + A "covered work" means either the unmodified Program or a work based 1.93 +on the Program. 1.94 + 1.95 + To "propagate" a work means to do anything with it that, without 1.96 +permission, would make you directly or secondarily liable for 1.97 +infringement under applicable copyright law, except executing it on a 1.98 +computer or modifying a private copy. Propagation includes copying, 1.99 +distribution (with or without modification), making available to the 1.100 +public, and in some countries other activities as well. 1.101 + 1.102 + To "convey" a work means any kind of propagation that enables other 1.103 +parties to make or receive copies. Mere interaction with a user through 1.104 +a computer network, with no transfer of a copy, is not conveying. 1.105 + 1.106 + An interactive user interface displays "Appropriate Legal Notices" 1.107 +to the extent that it includes a convenient and prominently visible 1.108 +feature that (1) displays an appropriate copyright notice, and (2) 1.109 +tells the user that there is no warranty for the work (except to the 1.110 +extent that warranties are provided), that licensees may convey the 1.111 +work under this License, and how to view a copy of this License. If 1.112 +the interface presents a list of user commands or options, such as a 1.113 +menu, a prominent item in the list meets this criterion. 1.114 + 1.115 + 1. Source Code. 1.116 + 1.117 + The "source code" for a work means the preferred form of the work 1.118 +for making modifications to it. "Object code" means any non-source 1.119 +form of a work. 1.120 + 1.121 + A "Standard Interface" means an interface that either is an official 1.122 +standard defined by a recognized standards body, or, in the case of 1.123 +interfaces specified for a particular programming language, one that 1.124 +is widely used among developers working in that language. 1.125 + 1.126 + The "System Libraries" of an executable work include anything, other 1.127 +than the work as a whole, that (a) is included in the normal form of 1.128 +packaging a Major Component, but which is not part of that Major 1.129 +Component, and (b) serves only to enable use of the work with that 1.130 +Major Component, or to implement a Standard Interface for which an 1.131 +implementation is available to the public in source code form. A 1.132 +"Major Component", in this context, means a major essential component 1.133 +(kernel, window system, and so on) of the specific operating system 1.134 +(if any) on which the executable work runs, or a compiler used to 1.135 +produce the work, or an object code interpreter used to run it. 1.136 + 1.137 + The "Corresponding Source" for a work in object code form means all 1.138 +the source code needed to generate, install, and (for an executable 1.139 +work) run the object code and to modify the work, including scripts to 1.140 +control those activities. However, it does not include the work's 1.141 +System Libraries, or general-purpose tools or generally available free 1.142 +programs which are used unmodified in performing those activities but 1.143 +which are not part of the work. For example, Corresponding Source 1.144 +includes interface definition files associated with source files for 1.145 +the work, and the source code for shared libraries and dynamically 1.146 +linked subprograms that the work is specifically designed to require, 1.147 +such as by intimate data communication or control flow between those 1.148 +subprograms and other parts of the work. 1.149 + 1.150 + The Corresponding Source need not include anything that users 1.151 +can regenerate automatically from other parts of the Corresponding 1.152 +Source. 1.153 + 1.154 + The Corresponding Source for a work in source code form is that 1.155 +same work. 1.156 + 1.157 + 2. Basic Permissions. 1.158 + 1.159 + All rights granted under this License are granted for the term of 1.160 +copyright on the Program, and are irrevocable provided the stated 1.161 +conditions are met. This License explicitly affirms your unlimited 1.162 +permission to run the unmodified Program. The output from running a 1.163 +covered work is covered by this License only if the output, given its 1.164 +content, constitutes a covered work. This License acknowledges your 1.165 +rights of fair use or other equivalent, as provided by copyright law. 1.166 + 1.167 + You may make, run and propagate covered works that you do not 1.168 +convey, without conditions so long as your license otherwise remains 1.169 +in force. You may convey covered works to others for the sole purpose 1.170 +of having them make modifications exclusively for you, or provide you 1.171 +with facilities for running those works, provided that you comply with 1.172 +the terms of this License in conveying all material for which you do 1.173 +not control copyright. Those thus making or running the covered works 1.174 +for you must do so exclusively on your behalf, under your direction 1.175 +and control, on terms that prohibit them from making any copies of 1.176 +your copyrighted material outside their relationship with you. 1.177 + 1.178 + Conveying under any other circumstances is permitted solely under 1.179 +the conditions stated below. Sublicensing is not allowed; section 10 1.180 +makes it unnecessary. 1.181 + 1.182 + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 1.183 + 1.184 + No covered work shall be deemed part of an effective technological 1.185 +measure under any applicable law fulfilling obligations under article 1.186 +11 of the WIPO copyright treaty adopted on 20 December 1996, or 1.187 +similar laws prohibiting or restricting circumvention of such 1.188 +measures. 1.189 + 1.190 + When you convey a covered work, you waive any legal power to forbid 1.191 +circumvention of technological measures to the extent such circumvention 1.192 +is effected by exercising rights under this License with respect to 1.193 +the covered work, and you disclaim any intention to limit operation or 1.194 +modification of the work as a means of enforcing, against the work's 1.195 +users, your or third parties' legal rights to forbid circumvention of 1.196 +technological measures. 1.197 + 1.198 + 4. Conveying Verbatim Copies. 1.199 + 1.200 + You may convey verbatim copies of the Program's source code as you 1.201 +receive it, in any medium, provided that you conspicuously and 1.202 +appropriately publish on each copy an appropriate copyright notice; 1.203 +keep intact all notices stating that this License and any 1.204 +non-permissive terms added in accord with section 7 apply to the code; 1.205 +keep intact all notices of the absence of any warranty; and give all 1.206 +recipients a copy of this License along with the Program. 1.207 + 1.208 + You may charge any price or no price for each copy that you convey, 1.209 +and you may offer support or warranty protection for a fee. 1.210 + 1.211 + 5. Conveying Modified Source Versions. 1.212 + 1.213 + You may convey a work based on the Program, or the modifications to 1.214 +produce it from the Program, in the form of source code under the 1.215 +terms of section 4, provided that you also meet all of these conditions: 1.216 + 1.217 + a) The work must carry prominent notices stating that you modified 1.218 + it, and giving a relevant date. 1.219 + 1.220 + b) The work must carry prominent notices stating that it is 1.221 + released under this License and any conditions added under section 1.222 + 7. This requirement modifies the requirement in section 4 to 1.223 + "keep intact all notices". 1.224 + 1.225 + c) You must license the entire work, as a whole, under this 1.226 + License to anyone who comes into possession of a copy. This 1.227 + License will therefore apply, along with any applicable section 7 1.228 + additional terms, to the whole of the work, and all its parts, 1.229 + regardless of how they are packaged. This License gives no 1.230 + permission to license the work in any other way, but it does not 1.231 + invalidate such permission if you have separately received it. 1.232 + 1.233 + d) If the work has interactive user interfaces, each must display 1.234 + Appropriate Legal Notices; however, if the Program has interactive 1.235 + interfaces that do not display Appropriate Legal Notices, your 1.236 + work need not make them do so. 1.237 + 1.238 + A compilation of a covered work with other separate and independent 1.239 +works, which are not by their nature extensions of the covered work, 1.240 +and which are not combined with it such as to form a larger program, 1.241 +in or on a volume of a storage or distribution medium, is called an 1.242 +"aggregate" if the compilation and its resulting copyright are not 1.243 +used to limit the access or legal rights of the compilation's users 1.244 +beyond what the individual works permit. Inclusion of a covered work 1.245 +in an aggregate does not cause this License to apply to the other 1.246 +parts of the aggregate. 1.247 + 1.248 + 6. Conveying Non-Source Forms. 1.249 + 1.250 + You may convey a covered work in object code form under the terms 1.251 +of sections 4 and 5, provided that you also convey the 1.252 +machine-readable Corresponding Source under the terms of this License, 1.253 +in one of these ways: 1.254 + 1.255 + a) Convey the object code in, or embodied in, a physical product 1.256 + (including a physical distribution medium), accompanied by the 1.257 + Corresponding Source fixed on a durable physical medium 1.258 + customarily used for software interchange. 1.259 + 1.260 + b) Convey the object code in, or embodied in, a physical product 1.261 + (including a physical distribution medium), accompanied by a 1.262 + written offer, valid for at least three years and valid for as 1.263 + long as you offer spare parts or customer support for that product 1.264 + model, to give anyone who possesses the object code either (1) a 1.265 + copy of the Corresponding Source for all the software in the 1.266 + product that is covered by this License, on a durable physical 1.267 + medium customarily used for software interchange, for a price no 1.268 + more than your reasonable cost of physically performing this 1.269 + conveying of source, or (2) access to copy the 1.270 + Corresponding Source from a network server at no charge. 1.271 + 1.272 + c) Convey individual copies of the object code with a copy of the 1.273 + written offer to provide the Corresponding Source. This 1.274 + alternative is allowed only occasionally and noncommercially, and 1.275 + only if you received the object code with such an offer, in accord 1.276 + with subsection 6b. 1.277 + 1.278 + d) Convey the object code by offering access from a designated 1.279 + place (gratis or for a charge), and offer equivalent access to the 1.280 + Corresponding Source in the same way through the same place at no 1.281 + further charge. You need not require recipients to copy the 1.282 + Corresponding Source along with the object code. If the place to 1.283 + copy the object code is a network server, the Corresponding Source 1.284 + may be on a different server (operated by you or a third party) 1.285 + that supports equivalent copying facilities, provided you maintain 1.286 + clear directions next to the object code saying where to find the 1.287 + Corresponding Source. Regardless of what server hosts the 1.288 + Corresponding Source, you remain obligated to ensure that it is 1.289 + available for as long as needed to satisfy these requirements. 1.290 + 1.291 + e) Convey the object code using peer-to-peer transmission, provided 1.292 + you inform other peers where the object code and Corresponding 1.293 + Source of the work are being offered to the general public at no 1.294 + charge under subsection 6d. 1.295 + 1.296 + A separable portion of the object code, whose source code is excluded 1.297 +from the Corresponding Source as a System Library, need not be 1.298 +included in conveying the object code work. 1.299 + 1.300 + A "User Product" is either (1) a "consumer product", which means any 1.301 +tangible personal property which is normally used for personal, family, 1.302 +or household purposes, or (2) anything designed or sold for incorporation 1.303 +into a dwelling. In determining whether a product is a consumer product, 1.304 +doubtful cases shall be resolved in favor of coverage. For a particular 1.305 +product received by a particular user, "normally used" refers to a 1.306 +typical or common use of that class of product, regardless of the status 1.307 +of the particular user or of the way in which the particular user 1.308 +actually uses, or expects or is expected to use, the product. A product 1.309 +is a consumer product regardless of whether the product has substantial 1.310 +commercial, industrial or non-consumer uses, unless such uses represent 1.311 +the only significant mode of use of the product. 1.312 + 1.313 + "Installation Information" for a User Product means any methods, 1.314 +procedures, authorization keys, or other information required to install 1.315 +and execute modified versions of a covered work in that User Product from 1.316 +a modified version of its Corresponding Source. The information must 1.317 +suffice to ensure that the continued functioning of the modified object 1.318 +code is in no case prevented or interfered with solely because 1.319 +modification has been made. 1.320 + 1.321 + If you convey an object code work under this section in, or with, or 1.322 +specifically for use in, a User Product, and the conveying occurs as 1.323 +part of a transaction in which the right of possession and use of the 1.324 +User Product is transferred to the recipient in perpetuity or for a 1.325 +fixed term (regardless of how the transaction is characterized), the 1.326 +Corresponding Source conveyed under this section must be accompanied 1.327 +by the Installation Information. But this requirement does not apply 1.328 +if neither you nor any third party retains the ability to install 1.329 +modified object code on the User Product (for example, the work has 1.330 +been installed in ROM). 1.331 + 1.332 + The requirement to provide Installation Information does not include a 1.333 +requirement to continue to provide support service, warranty, or updates 1.334 +for a work that has been modified or installed by the recipient, or for 1.335 +the User Product in which it has been modified or installed. Access to a 1.336 +network may be denied when the modification itself materially and 1.337 +adversely affects the operation of the network or violates the rules and 1.338 +protocols for communication across the network. 1.339 + 1.340 + Corresponding Source conveyed, and Installation Information provided, 1.341 +in accord with this section must be in a format that is publicly 1.342 +documented (and with an implementation available to the public in 1.343 +source code form), and must require no special password or key for 1.344 +unpacking, reading or copying. 1.345 + 1.346 + 7. Additional Terms. 1.347 + 1.348 + "Additional permissions" are terms that supplement the terms of this 1.349 +License by making exceptions from one or more of its conditions. 1.350 +Additional permissions that are applicable to the entire Program shall 1.351 +be treated as though they were included in this License, to the extent 1.352 +that they are valid under applicable law. If additional permissions 1.353 +apply only to part of the Program, that part may be used separately 1.354 +under those permissions, but the entire Program remains governed by 1.355 +this License without regard to the additional permissions. 1.356 + 1.357 + When you convey a copy of a covered work, you may at your option 1.358 +remove any additional permissions from that copy, or from any part of 1.359 +it. (Additional permissions may be written to require their own 1.360 +removal in certain cases when you modify the work.) You may place 1.361 +additional permissions on material, added by you to a covered work, 1.362 +for which you have or can give appropriate copyright permission. 1.363 + 1.364 + Notwithstanding any other provision of this License, for material you 1.365 +add to a covered work, you may (if authorized by the copyright holders of 1.366 +that material) supplement the terms of this License with terms: 1.367 + 1.368 + a) Disclaiming warranty or limiting liability differently from the 1.369 + terms of sections 15 and 16 of this License; or 1.370 + 1.371 + b) Requiring preservation of specified reasonable legal notices or 1.372 + author attributions in that material or in the Appropriate Legal 1.373 + Notices displayed by works containing it; or 1.374 + 1.375 + c) Prohibiting misrepresentation of the origin of that material, or 1.376 + requiring that modified versions of such material be marked in 1.377 + reasonable ways as different from the original version; or 1.378 + 1.379 + d) Limiting the use for publicity purposes of names of licensors or 1.380 + authors of the material; or 1.381 + 1.382 + e) Declining to grant rights under trademark law for use of some 1.383 + trade names, trademarks, or service marks; or 1.384 + 1.385 + f) Requiring indemnification of licensors and authors of that 1.386 + material by anyone who conveys the material (or modified versions of 1.387 + it) with contractual assumptions of liability to the recipient, for 1.388 + any liability that these contractual assumptions directly impose on 1.389 + those licensors and authors. 1.390 + 1.391 + All other non-permissive additional terms are considered "further 1.392 +restrictions" within the meaning of section 10. If the Program as you 1.393 +received it, or any part of it, contains a notice stating that it is 1.394 +governed by this License along with a term that is a further 1.395 +restriction, you may remove that term. If a license document contains 1.396 +a further restriction but permits relicensing or conveying under this 1.397 +License, you may add to a covered work material governed by the terms 1.398 +of that license document, provided that the further restriction does 1.399 +not survive such relicensing or conveying. 1.400 + 1.401 + If you add terms to a covered work in accord with this section, you 1.402 +must place, in the relevant source files, a statement of the 1.403 +additional terms that apply to those files, or a notice indicating 1.404 +where to find the applicable terms. 1.405 + 1.406 + Additional terms, permissive or non-permissive, may be stated in the 1.407 +form of a separately written license, or stated as exceptions; 1.408 +the above requirements apply either way. 1.409 + 1.410 + 8. Termination. 1.411 + 1.412 + You may not propagate or modify a covered work except as expressly 1.413 +provided under this License. Any attempt otherwise to propagate or 1.414 +modify it is void, and will automatically terminate your rights under 1.415 +this License (including any patent licenses granted under the third 1.416 +paragraph of section 11). 1.417 + 1.418 + However, if you cease all violation of this License, then your 1.419 +license from a particular copyright holder is reinstated (a) 1.420 +provisionally, unless and until the copyright holder explicitly and 1.421 +finally terminates your license, and (b) permanently, if the copyright 1.422 +holder fails to notify you of the violation by some reasonable means 1.423 +prior to 60 days after the cessation. 1.424 + 1.425 + Moreover, your license from a particular copyright holder is 1.426 +reinstated permanently if the copyright holder notifies you of the 1.427 +violation by some reasonable means, this is the first time you have 1.428 +received notice of violation of this License (for any work) from that 1.429 +copyright holder, and you cure the violation prior to 30 days after 1.430 +your receipt of the notice. 1.431 + 1.432 + Termination of your rights under this section does not terminate the 1.433 +licenses of parties who have received copies or rights from you under 1.434 +this License. If your rights have been terminated and not permanently 1.435 +reinstated, you do not qualify to receive new licenses for the same 1.436 +material under section 10. 1.437 + 1.438 + 9. Acceptance Not Required for Having Copies. 1.439 + 1.440 + You are not required to accept this License in order to receive or 1.441 +run a copy of the Program. Ancillary propagation of a covered work 1.442 +occurring solely as a consequence of using peer-to-peer transmission 1.443 +to receive a copy likewise does not require acceptance. However, 1.444 +nothing other than this License grants you permission to propagate or 1.445 +modify any covered work. These actions infringe copyright if you do 1.446 +not accept this License. Therefore, by modifying or propagating a 1.447 +covered work, you indicate your acceptance of this License to do so. 1.448 + 1.449 + 10. Automatic Licensing of Downstream Recipients. 1.450 + 1.451 + Each time you convey a covered work, the recipient automatically 1.452 +receives a license from the original licensors, to run, modify and 1.453 +propagate that work, subject to this License. You are not responsible 1.454 +for enforcing compliance by third parties with this License. 1.455 + 1.456 + An "entity transaction" is a transaction transferring control of an 1.457 +organization, or substantially all assets of one, or subdividing an 1.458 +organization, or merging organizations. If propagation of a covered 1.459 +work results from an entity transaction, each party to that 1.460 +transaction who receives a copy of the work also receives whatever 1.461 +licenses to the work the party's predecessor in interest had or could 1.462 +give under the previous paragraph, plus a right to possession of the 1.463 +Corresponding Source of the work from the predecessor in interest, if 1.464 +the predecessor has it or can get it with reasonable efforts. 1.465 + 1.466 + You may not impose any further restrictions on the exercise of the 1.467 +rights granted or affirmed under this License. For example, you may 1.468 +not impose a license fee, royalty, or other charge for exercise of 1.469 +rights granted under this License, and you may not initiate litigation 1.470 +(including a cross-claim or counterclaim in a lawsuit) alleging that 1.471 +any patent claim is infringed by making, using, selling, offering for 1.472 +sale, or importing the Program or any portion of it. 1.473 + 1.474 + 11. Patents. 1.475 + 1.476 + A "contributor" is a copyright holder who authorizes use under this 1.477 +License of the Program or a work on which the Program is based. The 1.478 +work thus licensed is called the contributor's "contributor version". 1.479 + 1.480 + A contributor's "essential patent claims" are all patent claims 1.481 +owned or controlled by the contributor, whether already acquired or 1.482 +hereafter acquired, that would be infringed by some manner, permitted 1.483 +by this License, of making, using, or selling its contributor version, 1.484 +but do not include claims that would be infringed only as a 1.485 +consequence of further modification of the contributor version. For 1.486 +purposes of this definition, "control" includes the right to grant 1.487 +patent sublicenses in a manner consistent with the requirements of 1.488 +this License. 1.489 + 1.490 + Each contributor grants you a non-exclusive, worldwide, royalty-free 1.491 +patent license under the contributor's essential patent claims, to 1.492 +make, use, sell, offer for sale, import and otherwise run, modify and 1.493 +propagate the contents of its contributor version. 1.494 + 1.495 + In the following three paragraphs, a "patent license" is any express 1.496 +agreement or commitment, however denominated, not to enforce a patent 1.497 +(such as an express permission to practice a patent or covenant not to 1.498 +sue for patent infringement). To "grant" such a patent license to a 1.499 +party means to make such an agreement or commitment not to enforce a 1.500 +patent against the party. 1.501 + 1.502 + If you convey a covered work, knowingly relying on a patent license, 1.503 +and the Corresponding Source of the work is not available for anyone 1.504 +to copy, free of charge and under the terms of this License, through a 1.505 +publicly available network server or other readily accessible means, 1.506 +then you must either (1) cause the Corresponding Source to be so 1.507 +available, or (2) arrange to deprive yourself of the benefit of the 1.508 +patent license for this particular work, or (3) arrange, in a manner 1.509 +consistent with the requirements of this License, to extend the patent 1.510 +license to downstream recipients. "Knowingly relying" means you have 1.511 +actual knowledge that, but for the patent license, your conveying the 1.512 +covered work in a country, or your recipient's use of the covered work 1.513 +in a country, would infringe one or more identifiable patents in that 1.514 +country that you have reason to believe are valid. 1.515 + 1.516 + If, pursuant to or in connection with a single transaction or 1.517 +arrangement, you convey, or propagate by procuring conveyance of, a 1.518 +covered work, and grant a patent license to some of the parties 1.519 +receiving the covered work authorizing them to use, propagate, modify 1.520 +or convey a specific copy of the covered work, then the patent license 1.521 +you grant is automatically extended to all recipients of the covered 1.522 +work and works based on it. 1.523 + 1.524 + A patent license is "discriminatory" if it does not include within 1.525 +the scope of its coverage, prohibits the exercise of, or is 1.526 +conditioned on the non-exercise of one or more of the rights that are 1.527 +specifically granted under this License. You may not convey a covered 1.528 +work if you are a party to an arrangement with a third party that is 1.529 +in the business of distributing software, under which you make payment 1.530 +to the third party based on the extent of your activity of conveying 1.531 +the work, and under which the third party grants, to any of the 1.532 +parties who would receive the covered work from you, a discriminatory 1.533 +patent license (a) in connection with copies of the covered work 1.534 +conveyed by you (or copies made from those copies), or (b) primarily 1.535 +for and in connection with specific products or compilations that 1.536 +contain the covered work, unless you entered into that arrangement, 1.537 +or that patent license was granted, prior to 28 March 2007. 1.538 + 1.539 + Nothing in this License shall be construed as excluding or limiting 1.540 +any implied license or other defenses to infringement that may 1.541 +otherwise be available to you under applicable patent law. 1.542 + 1.543 + 12. No Surrender of Others' Freedom. 1.544 + 1.545 + If conditions are imposed on you (whether by court order, agreement or 1.546 +otherwise) that contradict the conditions of this License, they do not 1.547 +excuse you from the conditions of this License. If you cannot convey a 1.548 +covered work so as to satisfy simultaneously your obligations under this 1.549 +License and any other pertinent obligations, then as a consequence you may 1.550 +not convey it at all. For example, if you agree to terms that obligate you 1.551 +to collect a royalty for further conveying from those to whom you convey 1.552 +the Program, the only way you could satisfy both those terms and this 1.553 +License would be to refrain entirely from conveying the Program. 1.554 + 1.555 + 13. Use with the GNU Affero General Public License. 1.556 + 1.557 + Notwithstanding any other provision of this License, you have 1.558 +permission to link or combine any covered work with a work licensed 1.559 +under version 3 of the GNU Affero General Public License into a single 1.560 +combined work, and to convey the resulting work. The terms of this 1.561 +License will continue to apply to the part which is the covered work, 1.562 +but the special requirements of the GNU Affero General Public License, 1.563 +section 13, concerning interaction through a network will apply to the 1.564 +combination as such. 1.565 + 1.566 + 14. Revised Versions of this License. 1.567 + 1.568 + The Free Software Foundation may publish revised and/or new versions of 1.569 +the GNU General Public License from time to time. Such new versions will 1.570 +be similar in spirit to the present version, but may differ in detail to 1.571 +address new problems or concerns. 1.572 + 1.573 + Each version is given a distinguishing version number. If the 1.574 +Program specifies that a certain numbered version of the GNU General 1.575 +Public License "or any later version" applies to it, you have the 1.576 +option of following the terms and conditions either of that numbered 1.577 +version or of any later version published by the Free Software 1.578 +Foundation. If the Program does not specify a version number of the 1.579 +GNU General Public License, you may choose any version ever published 1.580 +by the Free Software Foundation. 1.581 + 1.582 + If the Program specifies that a proxy can decide which future 1.583 +versions of the GNU General Public License can be used, that proxy's 1.584 +public statement of acceptance of a version permanently authorizes you 1.585 +to choose that version for the Program. 1.586 + 1.587 + Later license versions may give you additional or different 1.588 +permissions. However, no additional obligations are imposed on any 1.589 +author or copyright holder as a result of your choosing to follow a 1.590 +later version. 1.591 + 1.592 + 15. Disclaimer of Warranty. 1.593 + 1.594 + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 1.595 +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 1.596 +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 1.597 +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 1.598 +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 1.599 +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 1.600 +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 1.601 +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 1.602 + 1.603 + 16. Limitation of Liability. 1.604 + 1.605 + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 1.606 +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 1.607 +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 1.608 +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 1.609 +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 1.610 +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 1.611 +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 1.612 +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 1.613 +SUCH DAMAGES. 1.614 + 1.615 + 17. Interpretation of Sections 15 and 16. 1.616 + 1.617 + If the disclaimer of warranty and limitation of liability provided 1.618 +above cannot be given local legal effect according to their terms, 1.619 +reviewing courts shall apply local law that most closely approximates 1.620 +an absolute waiver of all civil liability in connection with the 1.621 +Program, unless a warranty or assumption of liability accompanies a 1.622 +copy of the Program in return for a fee. 1.623 + 1.624 + END OF TERMS AND CONDITIONS 1.625 + 1.626 + How to Apply These Terms to Your New Programs 1.627 + 1.628 + If you develop a new program, and you want it to be of the greatest 1.629 +possible use to the public, the best way to achieve this is to make it 1.630 +free software which everyone can redistribute and change under these terms. 1.631 + 1.632 + To do so, attach the following notices to the program. It is safest 1.633 +to attach them to the start of each source file to most effectively 1.634 +state the exclusion of warranty; and each file should have at least 1.635 +the "copyright" line and a pointer to where the full notice is found. 1.636 + 1.637 + <one line to give the program's name and a brief idea of what it does.> 1.638 + Copyright (C) <year> <name of author> 1.639 + 1.640 + This program is free software: you can redistribute it and/or modify 1.641 + it under the terms of the GNU General Public License as published by 1.642 + the Free Software Foundation, either version 3 of the License, or 1.643 + (at your option) any later version. 1.644 + 1.645 + This program is distributed in the hope that it will be useful, 1.646 + but WITHOUT ANY WARRANTY; without even the implied warranty of 1.647 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1.648 + GNU General Public License for more details. 1.649 + 1.650 + You should have received a copy of the GNU General Public License 1.651 + along with this program. If not, see <http://www.gnu.org/licenses/>. 1.652 + 1.653 +Also add information on how to contact you by electronic and paper mail. 1.654 + 1.655 + If the program does terminal interaction, make it output a short 1.656 +notice like this when it starts in an interactive mode: 1.657 + 1.658 + <program> Copyright (C) <year> <name of author> 1.659 + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 1.660 + This is free software, and you are welcome to redistribute it 1.661 + under certain conditions; type `show c' for details. 1.662 + 1.663 +The hypothetical commands `show w' and `show c' should show the appropriate 1.664 +parts of the General Public License. Of course, your program's commands 1.665 +might be different; for a GUI interface, you would use an "about box". 1.666 + 1.667 + You should also get your employer (if you work as a programmer) or school, 1.668 +if any, to sign a "copyright disclaimer" for the program, if necessary. 1.669 +For more information on this, and how to apply and follow the GNU GPL, see 1.670 +<http://www.gnu.org/licenses/>. 1.671 + 1.672 + The GNU General Public License does not permit incorporating your program 1.673 +into proprietary programs. If your program is a subroutine library, you 1.674 +may consider it more useful to permit linking proprietary applications with 1.675 +the library. If this is what you want to do, use the GNU Lesser General 1.676 +Public License instead of this License. But first, please read 1.677 +<http://www.gnu.org/philosophy/why-not-lgpl.html>.
2.1 --- a/Makefile Wed Feb 20 04:55:03 2013 +0200 2.2 +++ b/Makefile Wed Feb 20 05:45:27 2013 +0200 2.3 @@ -7,8 +7,8 @@ 2.4 bin = udg 2.5 2.6 CFLAGS = -pedantic -Wall -g -O3 -Ilibs/metasurf -Ilibs/dsys2 2.7 -CXXFLAGS = -std=c++11 $(CFLAGS) 2.8 -LDFLAGS = $(libgl) -limago -lvmath 2.9 +CXXFLAGS = $(CFLAGS) 2.10 +LDFLAGS = $(libgl) 2.11 2.12 ifeq ($(shell uname -s), Darwin) 2.13 libgl = -framework OpenGL -framework GLUT -lGLEW
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/README Wed Feb 20 05:45:27 2013 +0200 3.3 @@ -0,0 +1,29 @@ 3.4 +Printblobs (DBF-UDG compo edition) 3.5 +---------------------------------- 3.6 +by Nuclear / Mindlapse & The Lab 3.7 + 3.8 +A cute halftoning display hack with metaballs for the DBF UDG compo. 3.9 +Copyright (C) 2013 John Tsiombikas <nuclear@mutantstargoat.com> 3.10 + 3.11 +Feel free to use, copy, modify and/or redistribute this code freely 3.12 +under the terms of the GNU General Public License version 3 or (at your 3.13 +option) any later version published by the Free Software Foundation. 3.14 +See COPYING for details. 3.15 + 3.16 +Dependencies: 3.17 +- OpenGL implementation with GLSL shaders 3.18 +- Any GLUT implementation 3.19 +- GLEW <http://glew.sourceforge.net> 3.20 + 3.21 +Controls: 3.22 + 'b' : toggle blocky mode (8x8 block-based rendering) 3.23 + 'r' : toggle regular rendering (non-halftoned/dithered) 3.24 + 'f' : toggle fullscreen 3.25 + 'a' : toggle interactive camera control (mouse left-rotate, right-zoom) 3.26 + ESC : exit 3.27 + 3.28 +Commandline arguments: 3.29 + -noblocky start in non-blocky mode 3.30 + -blocky start in blocky mode (default in DBF-UDG edition) 3.31 + -nodither start in regular (non-halftoned/dithered) mode 3.32 + -geometry WxH specify initial window size
4.1 Binary file data/foo.png has changed
5.1 Binary file data/hieroglyph.png has changed
6.1 Binary file data/hieroglyph2.png has changed
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/libs/dsys2/COPYING Wed Feb 20 05:45:27 2013 +0200 7.3 @@ -0,0 +1,674 @@ 7.4 + GNU GENERAL PUBLIC LICENSE 7.5 + Version 3, 29 June 2007 7.6 + 7.7 + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> 7.8 + Everyone is permitted to copy and distribute verbatim copies 7.9 + of this license document, but changing it is not allowed. 7.10 + 7.11 + Preamble 7.12 + 7.13 + The GNU General Public License is a free, copyleft license for 7.14 +software and other kinds of works. 7.15 + 7.16 + The licenses for most software and other practical works are designed 7.17 +to take away your freedom to share and change the works. By contrast, 7.18 +the GNU General Public License is intended to guarantee your freedom to 7.19 +share and change all versions of a program--to make sure it remains free 7.20 +software for all its users. We, the Free Software Foundation, use the 7.21 +GNU General Public License for most of our software; it applies also to 7.22 +any other work released this way by its authors. You can apply it to 7.23 +your programs, too. 7.24 + 7.25 + When we speak of free software, we are referring to freedom, not 7.26 +price. Our General Public Licenses are designed to make sure that you 7.27 +have the freedom to distribute copies of free software (and charge for 7.28 +them if you wish), that you receive source code or can get it if you 7.29 +want it, that you can change the software or use pieces of it in new 7.30 +free programs, and that you know you can do these things. 7.31 + 7.32 + To protect your rights, we need to prevent others from denying you 7.33 +these rights or asking you to surrender the rights. Therefore, you have 7.34 +certain responsibilities if you distribute copies of the software, or if 7.35 +you modify it: responsibilities to respect the freedom of others. 7.36 + 7.37 + For example, if you distribute copies of such a program, whether 7.38 +gratis or for a fee, you must pass on to the recipients the same 7.39 +freedoms that you received. You must make sure that they, too, receive 7.40 +or can get the source code. And you must show them these terms so they 7.41 +know their rights. 7.42 + 7.43 + Developers that use the GNU GPL protect your rights with two steps: 7.44 +(1) assert copyright on the software, and (2) offer you this License 7.45 +giving you legal permission to copy, distribute and/or modify it. 7.46 + 7.47 + For the developers' and authors' protection, the GPL clearly explains 7.48 +that there is no warranty for this free software. For both users' and 7.49 +authors' sake, the GPL requires that modified versions be marked as 7.50 +changed, so that their problems will not be attributed erroneously to 7.51 +authors of previous versions. 7.52 + 7.53 + Some devices are designed to deny users access to install or run 7.54 +modified versions of the software inside them, although the manufacturer 7.55 +can do so. This is fundamentally incompatible with the aim of 7.56 +protecting users' freedom to change the software. The systematic 7.57 +pattern of such abuse occurs in the area of products for individuals to 7.58 +use, which is precisely where it is most unacceptable. Therefore, we 7.59 +have designed this version of the GPL to prohibit the practice for those 7.60 +products. If such problems arise substantially in other domains, we 7.61 +stand ready to extend this provision to those domains in future versions 7.62 +of the GPL, as needed to protect the freedom of users. 7.63 + 7.64 + Finally, every program is threatened constantly by software patents. 7.65 +States should not allow patents to restrict development and use of 7.66 +software on general-purpose computers, but in those that do, we wish to 7.67 +avoid the special danger that patents applied to a free program could 7.68 +make it effectively proprietary. To prevent this, the GPL assures that 7.69 +patents cannot be used to render the program non-free. 7.70 + 7.71 + The precise terms and conditions for copying, distribution and 7.72 +modification follow. 7.73 + 7.74 + TERMS AND CONDITIONS 7.75 + 7.76 + 0. Definitions. 7.77 + 7.78 + "This License" refers to version 3 of the GNU General Public License. 7.79 + 7.80 + "Copyright" also means copyright-like laws that apply to other kinds of 7.81 +works, such as semiconductor masks. 7.82 + 7.83 + "The Program" refers to any copyrightable work licensed under this 7.84 +License. Each licensee is addressed as "you". "Licensees" and 7.85 +"recipients" may be individuals or organizations. 7.86 + 7.87 + To "modify" a work means to copy from or adapt all or part of the work 7.88 +in a fashion requiring copyright permission, other than the making of an 7.89 +exact copy. The resulting work is called a "modified version" of the 7.90 +earlier work or a work "based on" the earlier work. 7.91 + 7.92 + A "covered work" means either the unmodified Program or a work based 7.93 +on the Program. 7.94 + 7.95 + To "propagate" a work means to do anything with it that, without 7.96 +permission, would make you directly or secondarily liable for 7.97 +infringement under applicable copyright law, except executing it on a 7.98 +computer or modifying a private copy. Propagation includes copying, 7.99 +distribution (with or without modification), making available to the 7.100 +public, and in some countries other activities as well. 7.101 + 7.102 + To "convey" a work means any kind of propagation that enables other 7.103 +parties to make or receive copies. Mere interaction with a user through 7.104 +a computer network, with no transfer of a copy, is not conveying. 7.105 + 7.106 + An interactive user interface displays "Appropriate Legal Notices" 7.107 +to the extent that it includes a convenient and prominently visible 7.108 +feature that (1) displays an appropriate copyright notice, and (2) 7.109 +tells the user that there is no warranty for the work (except to the 7.110 +extent that warranties are provided), that licensees may convey the 7.111 +work under this License, and how to view a copy of this License. If 7.112 +the interface presents a list of user commands or options, such as a 7.113 +menu, a prominent item in the list meets this criterion. 7.114 + 7.115 + 1. Source Code. 7.116 + 7.117 + The "source code" for a work means the preferred form of the work 7.118 +for making modifications to it. "Object code" means any non-source 7.119 +form of a work. 7.120 + 7.121 + A "Standard Interface" means an interface that either is an official 7.122 +standard defined by a recognized standards body, or, in the case of 7.123 +interfaces specified for a particular programming language, one that 7.124 +is widely used among developers working in that language. 7.125 + 7.126 + The "System Libraries" of an executable work include anything, other 7.127 +than the work as a whole, that (a) is included in the normal form of 7.128 +packaging a Major Component, but which is not part of that Major 7.129 +Component, and (b) serves only to enable use of the work with that 7.130 +Major Component, or to implement a Standard Interface for which an 7.131 +implementation is available to the public in source code form. A 7.132 +"Major Component", in this context, means a major essential component 7.133 +(kernel, window system, and so on) of the specific operating system 7.134 +(if any) on which the executable work runs, or a compiler used to 7.135 +produce the work, or an object code interpreter used to run it. 7.136 + 7.137 + The "Corresponding Source" for a work in object code form means all 7.138 +the source code needed to generate, install, and (for an executable 7.139 +work) run the object code and to modify the work, including scripts to 7.140 +control those activities. However, it does not include the work's 7.141 +System Libraries, or general-purpose tools or generally available free 7.142 +programs which are used unmodified in performing those activities but 7.143 +which are not part of the work. For example, Corresponding Source 7.144 +includes interface definition files associated with source files for 7.145 +the work, and the source code for shared libraries and dynamically 7.146 +linked subprograms that the work is specifically designed to require, 7.147 +such as by intimate data communication or control flow between those 7.148 +subprograms and other parts of the work. 7.149 + 7.150 + The Corresponding Source need not include anything that users 7.151 +can regenerate automatically from other parts of the Corresponding 7.152 +Source. 7.153 + 7.154 + The Corresponding Source for a work in source code form is that 7.155 +same work. 7.156 + 7.157 + 2. Basic Permissions. 7.158 + 7.159 + All rights granted under this License are granted for the term of 7.160 +copyright on the Program, and are irrevocable provided the stated 7.161 +conditions are met. This License explicitly affirms your unlimited 7.162 +permission to run the unmodified Program. The output from running a 7.163 +covered work is covered by this License only if the output, given its 7.164 +content, constitutes a covered work. This License acknowledges your 7.165 +rights of fair use or other equivalent, as provided by copyright law. 7.166 + 7.167 + You may make, run and propagate covered works that you do not 7.168 +convey, without conditions so long as your license otherwise remains 7.169 +in force. You may convey covered works to others for the sole purpose 7.170 +of having them make modifications exclusively for you, or provide you 7.171 +with facilities for running those works, provided that you comply with 7.172 +the terms of this License in conveying all material for which you do 7.173 +not control copyright. Those thus making or running the covered works 7.174 +for you must do so exclusively on your behalf, under your direction 7.175 +and control, on terms that prohibit them from making any copies of 7.176 +your copyrighted material outside their relationship with you. 7.177 + 7.178 + Conveying under any other circumstances is permitted solely under 7.179 +the conditions stated below. Sublicensing is not allowed; section 10 7.180 +makes it unnecessary. 7.181 + 7.182 + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 7.183 + 7.184 + No covered work shall be deemed part of an effective technological 7.185 +measure under any applicable law fulfilling obligations under article 7.186 +11 of the WIPO copyright treaty adopted on 20 December 1996, or 7.187 +similar laws prohibiting or restricting circumvention of such 7.188 +measures. 7.189 + 7.190 + When you convey a covered work, you waive any legal power to forbid 7.191 +circumvention of technological measures to the extent such circumvention 7.192 +is effected by exercising rights under this License with respect to 7.193 +the covered work, and you disclaim any intention to limit operation or 7.194 +modification of the work as a means of enforcing, against the work's 7.195 +users, your or third parties' legal rights to forbid circumvention of 7.196 +technological measures. 7.197 + 7.198 + 4. Conveying Verbatim Copies. 7.199 + 7.200 + You may convey verbatim copies of the Program's source code as you 7.201 +receive it, in any medium, provided that you conspicuously and 7.202 +appropriately publish on each copy an appropriate copyright notice; 7.203 +keep intact all notices stating that this License and any 7.204 +non-permissive terms added in accord with section 7 apply to the code; 7.205 +keep intact all notices of the absence of any warranty; and give all 7.206 +recipients a copy of this License along with the Program. 7.207 + 7.208 + You may charge any price or no price for each copy that you convey, 7.209 +and you may offer support or warranty protection for a fee. 7.210 + 7.211 + 5. Conveying Modified Source Versions. 7.212 + 7.213 + You may convey a work based on the Program, or the modifications to 7.214 +produce it from the Program, in the form of source code under the 7.215 +terms of section 4, provided that you also meet all of these conditions: 7.216 + 7.217 + a) The work must carry prominent notices stating that you modified 7.218 + it, and giving a relevant date. 7.219 + 7.220 + b) The work must carry prominent notices stating that it is 7.221 + released under this License and any conditions added under section 7.222 + 7. This requirement modifies the requirement in section 4 to 7.223 + "keep intact all notices". 7.224 + 7.225 + c) You must license the entire work, as a whole, under this 7.226 + License to anyone who comes into possession of a copy. This 7.227 + License will therefore apply, along with any applicable section 7 7.228 + additional terms, to the whole of the work, and all its parts, 7.229 + regardless of how they are packaged. This License gives no 7.230 + permission to license the work in any other way, but it does not 7.231 + invalidate such permission if you have separately received it. 7.232 + 7.233 + d) If the work has interactive user interfaces, each must display 7.234 + Appropriate Legal Notices; however, if the Program has interactive 7.235 + interfaces that do not display Appropriate Legal Notices, your 7.236 + work need not make them do so. 7.237 + 7.238 + A compilation of a covered work with other separate and independent 7.239 +works, which are not by their nature extensions of the covered work, 7.240 +and which are not combined with it such as to form a larger program, 7.241 +in or on a volume of a storage or distribution medium, is called an 7.242 +"aggregate" if the compilation and its resulting copyright are not 7.243 +used to limit the access or legal rights of the compilation's users 7.244 +beyond what the individual works permit. Inclusion of a covered work 7.245 +in an aggregate does not cause this License to apply to the other 7.246 +parts of the aggregate. 7.247 + 7.248 + 6. Conveying Non-Source Forms. 7.249 + 7.250 + You may convey a covered work in object code form under the terms 7.251 +of sections 4 and 5, provided that you also convey the 7.252 +machine-readable Corresponding Source under the terms of this License, 7.253 +in one of these ways: 7.254 + 7.255 + a) Convey the object code in, or embodied in, a physical product 7.256 + (including a physical distribution medium), accompanied by the 7.257 + Corresponding Source fixed on a durable physical medium 7.258 + customarily used for software interchange. 7.259 + 7.260 + b) Convey the object code in, or embodied in, a physical product 7.261 + (including a physical distribution medium), accompanied by a 7.262 + written offer, valid for at least three years and valid for as 7.263 + long as you offer spare parts or customer support for that product 7.264 + model, to give anyone who possesses the object code either (1) a 7.265 + copy of the Corresponding Source for all the software in the 7.266 + product that is covered by this License, on a durable physical 7.267 + medium customarily used for software interchange, for a price no 7.268 + more than your reasonable cost of physically performing this 7.269 + conveying of source, or (2) access to copy the 7.270 + Corresponding Source from a network server at no charge. 7.271 + 7.272 + c) Convey individual copies of the object code with a copy of the 7.273 + written offer to provide the Corresponding Source. This 7.274 + alternative is allowed only occasionally and noncommercially, and 7.275 + only if you received the object code with such an offer, in accord 7.276 + with subsection 6b. 7.277 + 7.278 + d) Convey the object code by offering access from a designated 7.279 + place (gratis or for a charge), and offer equivalent access to the 7.280 + Corresponding Source in the same way through the same place at no 7.281 + further charge. You need not require recipients to copy the 7.282 + Corresponding Source along with the object code. If the place to 7.283 + copy the object code is a network server, the Corresponding Source 7.284 + may be on a different server (operated by you or a third party) 7.285 + that supports equivalent copying facilities, provided you maintain 7.286 + clear directions next to the object code saying where to find the 7.287 + Corresponding Source. Regardless of what server hosts the 7.288 + Corresponding Source, you remain obligated to ensure that it is 7.289 + available for as long as needed to satisfy these requirements. 7.290 + 7.291 + e) Convey the object code using peer-to-peer transmission, provided 7.292 + you inform other peers where the object code and Corresponding 7.293 + Source of the work are being offered to the general public at no 7.294 + charge under subsection 6d. 7.295 + 7.296 + A separable portion of the object code, whose source code is excluded 7.297 +from the Corresponding Source as a System Library, need not be 7.298 +included in conveying the object code work. 7.299 + 7.300 + A "User Product" is either (1) a "consumer product", which means any 7.301 +tangible personal property which is normally used for personal, family, 7.302 +or household purposes, or (2) anything designed or sold for incorporation 7.303 +into a dwelling. In determining whether a product is a consumer product, 7.304 +doubtful cases shall be resolved in favor of coverage. For a particular 7.305 +product received by a particular user, "normally used" refers to a 7.306 +typical or common use of that class of product, regardless of the status 7.307 +of the particular user or of the way in which the particular user 7.308 +actually uses, or expects or is expected to use, the product. A product 7.309 +is a consumer product regardless of whether the product has substantial 7.310 +commercial, industrial or non-consumer uses, unless such uses represent 7.311 +the only significant mode of use of the product. 7.312 + 7.313 + "Installation Information" for a User Product means any methods, 7.314 +procedures, authorization keys, or other information required to install 7.315 +and execute modified versions of a covered work in that User Product from 7.316 +a modified version of its Corresponding Source. The information must 7.317 +suffice to ensure that the continued functioning of the modified object 7.318 +code is in no case prevented or interfered with solely because 7.319 +modification has been made. 7.320 + 7.321 + If you convey an object code work under this section in, or with, or 7.322 +specifically for use in, a User Product, and the conveying occurs as 7.323 +part of a transaction in which the right of possession and use of the 7.324 +User Product is transferred to the recipient in perpetuity or for a 7.325 +fixed term (regardless of how the transaction is characterized), the 7.326 +Corresponding Source conveyed under this section must be accompanied 7.327 +by the Installation Information. But this requirement does not apply 7.328 +if neither you nor any third party retains the ability to install 7.329 +modified object code on the User Product (for example, the work has 7.330 +been installed in ROM). 7.331 + 7.332 + The requirement to provide Installation Information does not include a 7.333 +requirement to continue to provide support service, warranty, or updates 7.334 +for a work that has been modified or installed by the recipient, or for 7.335 +the User Product in which it has been modified or installed. Access to a 7.336 +network may be denied when the modification itself materially and 7.337 +adversely affects the operation of the network or violates the rules and 7.338 +protocols for communication across the network. 7.339 + 7.340 + Corresponding Source conveyed, and Installation Information provided, 7.341 +in accord with this section must be in a format that is publicly 7.342 +documented (and with an implementation available to the public in 7.343 +source code form), and must require no special password or key for 7.344 +unpacking, reading or copying. 7.345 + 7.346 + 7. Additional Terms. 7.347 + 7.348 + "Additional permissions" are terms that supplement the terms of this 7.349 +License by making exceptions from one or more of its conditions. 7.350 +Additional permissions that are applicable to the entire Program shall 7.351 +be treated as though they were included in this License, to the extent 7.352 +that they are valid under applicable law. If additional permissions 7.353 +apply only to part of the Program, that part may be used separately 7.354 +under those permissions, but the entire Program remains governed by 7.355 +this License without regard to the additional permissions. 7.356 + 7.357 + When you convey a copy of a covered work, you may at your option 7.358 +remove any additional permissions from that copy, or from any part of 7.359 +it. (Additional permissions may be written to require their own 7.360 +removal in certain cases when you modify the work.) You may place 7.361 +additional permissions on material, added by you to a covered work, 7.362 +for which you have or can give appropriate copyright permission. 7.363 + 7.364 + Notwithstanding any other provision of this License, for material you 7.365 +add to a covered work, you may (if authorized by the copyright holders of 7.366 +that material) supplement the terms of this License with terms: 7.367 + 7.368 + a) Disclaiming warranty or limiting liability differently from the 7.369 + terms of sections 15 and 16 of this License; or 7.370 + 7.371 + b) Requiring preservation of specified reasonable legal notices or 7.372 + author attributions in that material or in the Appropriate Legal 7.373 + Notices displayed by works containing it; or 7.374 + 7.375 + c) Prohibiting misrepresentation of the origin of that material, or 7.376 + requiring that modified versions of such material be marked in 7.377 + reasonable ways as different from the original version; or 7.378 + 7.379 + d) Limiting the use for publicity purposes of names of licensors or 7.380 + authors of the material; or 7.381 + 7.382 + e) Declining to grant rights under trademark law for use of some 7.383 + trade names, trademarks, or service marks; or 7.384 + 7.385 + f) Requiring indemnification of licensors and authors of that 7.386 + material by anyone who conveys the material (or modified versions of 7.387 + it) with contractual assumptions of liability to the recipient, for 7.388 + any liability that these contractual assumptions directly impose on 7.389 + those licensors and authors. 7.390 + 7.391 + All other non-permissive additional terms are considered "further 7.392 +restrictions" within the meaning of section 10. If the Program as you 7.393 +received it, or any part of it, contains a notice stating that it is 7.394 +governed by this License along with a term that is a further 7.395 +restriction, you may remove that term. If a license document contains 7.396 +a further restriction but permits relicensing or conveying under this 7.397 +License, you may add to a covered work material governed by the terms 7.398 +of that license document, provided that the further restriction does 7.399 +not survive such relicensing or conveying. 7.400 + 7.401 + If you add terms to a covered work in accord with this section, you 7.402 +must place, in the relevant source files, a statement of the 7.403 +additional terms that apply to those files, or a notice indicating 7.404 +where to find the applicable terms. 7.405 + 7.406 + Additional terms, permissive or non-permissive, may be stated in the 7.407 +form of a separately written license, or stated as exceptions; 7.408 +the above requirements apply either way. 7.409 + 7.410 + 8. Termination. 7.411 + 7.412 + You may not propagate or modify a covered work except as expressly 7.413 +provided under this License. Any attempt otherwise to propagate or 7.414 +modify it is void, and will automatically terminate your rights under 7.415 +this License (including any patent licenses granted under the third 7.416 +paragraph of section 11). 7.417 + 7.418 + However, if you cease all violation of this License, then your 7.419 +license from a particular copyright holder is reinstated (a) 7.420 +provisionally, unless and until the copyright holder explicitly and 7.421 +finally terminates your license, and (b) permanently, if the copyright 7.422 +holder fails to notify you of the violation by some reasonable means 7.423 +prior to 60 days after the cessation. 7.424 + 7.425 + Moreover, your license from a particular copyright holder is 7.426 +reinstated permanently if the copyright holder notifies you of the 7.427 +violation by some reasonable means, this is the first time you have 7.428 +received notice of violation of this License (for any work) from that 7.429 +copyright holder, and you cure the violation prior to 30 days after 7.430 +your receipt of the notice. 7.431 + 7.432 + Termination of your rights under this section does not terminate the 7.433 +licenses of parties who have received copies or rights from you under 7.434 +this License. If your rights have been terminated and not permanently 7.435 +reinstated, you do not qualify to receive new licenses for the same 7.436 +material under section 10. 7.437 + 7.438 + 9. Acceptance Not Required for Having Copies. 7.439 + 7.440 + You are not required to accept this License in order to receive or 7.441 +run a copy of the Program. Ancillary propagation of a covered work 7.442 +occurring solely as a consequence of using peer-to-peer transmission 7.443 +to receive a copy likewise does not require acceptance. However, 7.444 +nothing other than this License grants you permission to propagate or 7.445 +modify any covered work. These actions infringe copyright if you do 7.446 +not accept this License. Therefore, by modifying or propagating a 7.447 +covered work, you indicate your acceptance of this License to do so. 7.448 + 7.449 + 10. Automatic Licensing of Downstream Recipients. 7.450 + 7.451 + Each time you convey a covered work, the recipient automatically 7.452 +receives a license from the original licensors, to run, modify and 7.453 +propagate that work, subject to this License. You are not responsible 7.454 +for enforcing compliance by third parties with this License. 7.455 + 7.456 + An "entity transaction" is a transaction transferring control of an 7.457 +organization, or substantially all assets of one, or subdividing an 7.458 +organization, or merging organizations. If propagation of a covered 7.459 +work results from an entity transaction, each party to that 7.460 +transaction who receives a copy of the work also receives whatever 7.461 +licenses to the work the party's predecessor in interest had or could 7.462 +give under the previous paragraph, plus a right to possession of the 7.463 +Corresponding Source of the work from the predecessor in interest, if 7.464 +the predecessor has it or can get it with reasonable efforts. 7.465 + 7.466 + You may not impose any further restrictions on the exercise of the 7.467 +rights granted or affirmed under this License. For example, you may 7.468 +not impose a license fee, royalty, or other charge for exercise of 7.469 +rights granted under this License, and you may not initiate litigation 7.470 +(including a cross-claim or counterclaim in a lawsuit) alleging that 7.471 +any patent claim is infringed by making, using, selling, offering for 7.472 +sale, or importing the Program or any portion of it. 7.473 + 7.474 + 11. Patents. 7.475 + 7.476 + A "contributor" is a copyright holder who authorizes use under this 7.477 +License of the Program or a work on which the Program is based. The 7.478 +work thus licensed is called the contributor's "contributor version". 7.479 + 7.480 + A contributor's "essential patent claims" are all patent claims 7.481 +owned or controlled by the contributor, whether already acquired or 7.482 +hereafter acquired, that would be infringed by some manner, permitted 7.483 +by this License, of making, using, or selling its contributor version, 7.484 +but do not include claims that would be infringed only as a 7.485 +consequence of further modification of the contributor version. For 7.486 +purposes of this definition, "control" includes the right to grant 7.487 +patent sublicenses in a manner consistent with the requirements of 7.488 +this License. 7.489 + 7.490 + Each contributor grants you a non-exclusive, worldwide, royalty-free 7.491 +patent license under the contributor's essential patent claims, to 7.492 +make, use, sell, offer for sale, import and otherwise run, modify and 7.493 +propagate the contents of its contributor version. 7.494 + 7.495 + In the following three paragraphs, a "patent license" is any express 7.496 +agreement or commitment, however denominated, not to enforce a patent 7.497 +(such as an express permission to practice a patent or covenant not to 7.498 +sue for patent infringement). To "grant" such a patent license to a 7.499 +party means to make such an agreement or commitment not to enforce a 7.500 +patent against the party. 7.501 + 7.502 + If you convey a covered work, knowingly relying on a patent license, 7.503 +and the Corresponding Source of the work is not available for anyone 7.504 +to copy, free of charge and under the terms of this License, through a 7.505 +publicly available network server or other readily accessible means, 7.506 +then you must either (1) cause the Corresponding Source to be so 7.507 +available, or (2) arrange to deprive yourself of the benefit of the 7.508 +patent license for this particular work, or (3) arrange, in a manner 7.509 +consistent with the requirements of this License, to extend the patent 7.510 +license to downstream recipients. "Knowingly relying" means you have 7.511 +actual knowledge that, but for the patent license, your conveying the 7.512 +covered work in a country, or your recipient's use of the covered work 7.513 +in a country, would infringe one or more identifiable patents in that 7.514 +country that you have reason to believe are valid. 7.515 + 7.516 + If, pursuant to or in connection with a single transaction or 7.517 +arrangement, you convey, or propagate by procuring conveyance of, a 7.518 +covered work, and grant a patent license to some of the parties 7.519 +receiving the covered work authorizing them to use, propagate, modify 7.520 +or convey a specific copy of the covered work, then the patent license 7.521 +you grant is automatically extended to all recipients of the covered 7.522 +work and works based on it. 7.523 + 7.524 + A patent license is "discriminatory" if it does not include within 7.525 +the scope of its coverage, prohibits the exercise of, or is 7.526 +conditioned on the non-exercise of one or more of the rights that are 7.527 +specifically granted under this License. You may not convey a covered 7.528 +work if you are a party to an arrangement with a third party that is 7.529 +in the business of distributing software, under which you make payment 7.530 +to the third party based on the extent of your activity of conveying 7.531 +the work, and under which the third party grants, to any of the 7.532 +parties who would receive the covered work from you, a discriminatory 7.533 +patent license (a) in connection with copies of the covered work 7.534 +conveyed by you (or copies made from those copies), or (b) primarily 7.535 +for and in connection with specific products or compilations that 7.536 +contain the covered work, unless you entered into that arrangement, 7.537 +or that patent license was granted, prior to 28 March 2007. 7.538 + 7.539 + Nothing in this License shall be construed as excluding or limiting 7.540 +any implied license or other defenses to infringement that may 7.541 +otherwise be available to you under applicable patent law. 7.542 + 7.543 + 12. No Surrender of Others' Freedom. 7.544 + 7.545 + If conditions are imposed on you (whether by court order, agreement or 7.546 +otherwise) that contradict the conditions of this License, they do not 7.547 +excuse you from the conditions of this License. If you cannot convey a 7.548 +covered work so as to satisfy simultaneously your obligations under this 7.549 +License and any other pertinent obligations, then as a consequence you may 7.550 +not convey it at all. For example, if you agree to terms that obligate you 7.551 +to collect a royalty for further conveying from those to whom you convey 7.552 +the Program, the only way you could satisfy both those terms and this 7.553 +License would be to refrain entirely from conveying the Program. 7.554 + 7.555 + 13. Use with the GNU Affero General Public License. 7.556 + 7.557 + Notwithstanding any other provision of this License, you have 7.558 +permission to link or combine any covered work with a work licensed 7.559 +under version 3 of the GNU Affero General Public License into a single 7.560 +combined work, and to convey the resulting work. The terms of this 7.561 +License will continue to apply to the part which is the covered work, 7.562 +but the special requirements of the GNU Affero General Public License, 7.563 +section 13, concerning interaction through a network will apply to the 7.564 +combination as such. 7.565 + 7.566 + 14. Revised Versions of this License. 7.567 + 7.568 + The Free Software Foundation may publish revised and/or new versions of 7.569 +the GNU General Public License from time to time. Such new versions will 7.570 +be similar in spirit to the present version, but may differ in detail to 7.571 +address new problems or concerns. 7.572 + 7.573 + Each version is given a distinguishing version number. If the 7.574 +Program specifies that a certain numbered version of the GNU General 7.575 +Public License "or any later version" applies to it, you have the 7.576 +option of following the terms and conditions either of that numbered 7.577 +version or of any later version published by the Free Software 7.578 +Foundation. If the Program does not specify a version number of the 7.579 +GNU General Public License, you may choose any version ever published 7.580 +by the Free Software Foundation. 7.581 + 7.582 + If the Program specifies that a proxy can decide which future 7.583 +versions of the GNU General Public License can be used, that proxy's 7.584 +public statement of acceptance of a version permanently authorizes you 7.585 +to choose that version for the Program. 7.586 + 7.587 + Later license versions may give you additional or different 7.588 +permissions. However, no additional obligations are imposed on any 7.589 +author or copyright holder as a result of your choosing to follow a 7.590 +later version. 7.591 + 7.592 + 15. Disclaimer of Warranty. 7.593 + 7.594 + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 7.595 +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 7.596 +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 7.597 +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 7.598 +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 7.599 +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 7.600 +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 7.601 +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 7.602 + 7.603 + 16. Limitation of Liability. 7.604 + 7.605 + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 7.606 +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 7.607 +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 7.608 +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 7.609 +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 7.610 +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 7.611 +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 7.612 +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 7.613 +SUCH DAMAGES. 7.614 + 7.615 + 17. Interpretation of Sections 15 and 16. 7.616 + 7.617 + If the disclaimer of warranty and limitation of liability provided 7.618 +above cannot be given local legal effect according to their terms, 7.619 +reviewing courts shall apply local law that most closely approximates 7.620 +an absolute waiver of all civil liability in connection with the 7.621 +Program, unless a warranty or assumption of liability accompanies a 7.622 +copy of the Program in return for a fee. 7.623 + 7.624 + END OF TERMS AND CONDITIONS 7.625 + 7.626 + How to Apply These Terms to Your New Programs 7.627 + 7.628 + If you develop a new program, and you want it to be of the greatest 7.629 +possible use to the public, the best way to achieve this is to make it 7.630 +free software which everyone can redistribute and change under these terms. 7.631 + 7.632 + To do so, attach the following notices to the program. It is safest 7.633 +to attach them to the start of each source file to most effectively 7.634 +state the exclusion of warranty; and each file should have at least 7.635 +the "copyright" line and a pointer to where the full notice is found. 7.636 + 7.637 + <one line to give the program's name and a brief idea of what it does.> 7.638 + Copyright (C) <year> <name of author> 7.639 + 7.640 + This program is free software: you can redistribute it and/or modify 7.641 + it under the terms of the GNU General Public License as published by 7.642 + the Free Software Foundation, either version 3 of the License, or 7.643 + (at your option) any later version. 7.644 + 7.645 + This program is distributed in the hope that it will be useful, 7.646 + but WITHOUT ANY WARRANTY; without even the implied warranty of 7.647 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 7.648 + GNU General Public License for more details. 7.649 + 7.650 + You should have received a copy of the GNU General Public License 7.651 + along with this program. If not, see <http://www.gnu.org/licenses/>. 7.652 + 7.653 +Also add information on how to contact you by electronic and paper mail. 7.654 + 7.655 + If the program does terminal interaction, make it output a short 7.656 +notice like this when it starts in an interactive mode: 7.657 + 7.658 + <program> Copyright (C) <year> <name of author> 7.659 + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 7.660 + This is free software, and you are welcome to redistribute it 7.661 + under certain conditions; type `show c' for details. 7.662 + 7.663 +The hypothetical commands `show w' and `show c' should show the appropriate 7.664 +parts of the General Public License. Of course, your program's commands 7.665 +might be different; for a GUI interface, you would use an "about box". 7.666 + 7.667 + You should also get your employer (if you work as a programmer) or school, 7.668 +if any, to sign a "copyright disclaimer" for the program, if necessary. 7.669 +For more information on this, and how to apply and follow the GNU GPL, see 7.670 +<http://www.gnu.org/licenses/>. 7.671 + 7.672 + The GNU General Public License does not permit incorporating your program 7.673 +into proprietary programs. If your program is a subroutine library, you 7.674 +may consider it more useful to permit linking proprietary applications with 7.675 +the library. If this is what you want to do, use the GNU Lesser General 7.676 +Public License instead of this License. But first, please read 7.677 +<http://www.gnu.org/philosophy/why-not-lgpl.html>.
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/libs/dsys2/README Wed Feb 20 05:45:27 2013 +0200 8.3 @@ -0,0 +1,6 @@ 8.4 +New demosystem by Nuclear / Mindlapse 8.5 + 8.6 +Copyright (C) 2011 John Tsiombikas <nuclear@member.fsf.org> 8.7 +You are free to use, modify, and redistribute this program, under the terms of 8.8 +the GNU General Public License v3 (or any newer version published by the Free 8.9 +Software Foundation). See COPYING for details.
9.1 --- a/libs/dsys2/dsys.c Wed Feb 20 04:55:03 2013 +0200 9.2 +++ b/libs/dsys2/dsys.c Wed Feb 20 05:45:27 2013 +0200 9.3 @@ -1,3 +1,20 @@ 9.4 +/* 9.5 +New demosystem by Nuclear / Mindlapse 9.6 +Copyright (C) 2011-2013 John Tsiombikas <nuclear@member.fsf.org> 9.7 + 9.8 +This program is free software: you can redistribute it and/or modify 9.9 +it under the terms of the GNU General Public License as published by 9.10 +the Free Software Foundation, either version 3 of the License, or 9.11 +(at your option) any later version. 9.12 + 9.13 +This program is distributed in the hope that it will be useful, 9.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 9.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9.16 +GNU General Public License for more details. 9.17 + 9.18 +You should have received a copy of the GNU General Public License 9.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 9.20 +*/ 9.21 #include <stdio.h> 9.22 #include <math.h> 9.23 #include <stdlib.h>
10.1 --- a/libs/dsys2/dsys.h Wed Feb 20 04:55:03 2013 +0200 10.2 +++ b/libs/dsys2/dsys.h Wed Feb 20 05:45:27 2013 +0200 10.3 @@ -1,3 +1,20 @@ 10.4 +/* 10.5 +New demosystem by Nuclear / Mindlapse 10.6 +Copyright (C) 2011-2013 John Tsiombikas <nuclear@member.fsf.org> 10.7 + 10.8 +This program is free software: you can redistribute it and/or modify 10.9 +it under the terms of the GNU General Public License as published by 10.10 +the Free Software Foundation, either version 3 of the License, or 10.11 +(at your option) any later version. 10.12 + 10.13 +This program is distributed in the hope that it will be useful, 10.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 10.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10.16 +GNU General Public License for more details. 10.17 + 10.18 +You should have received a copy of the GNU General Public License 10.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 10.20 +*/ 10.21 #ifndef DSYS2_H_ 10.22 #define DSYS2_H_ 10.23
11.1 --- a/libs/dsys2/dsys_impl.h Wed Feb 20 04:55:03 2013 +0200 11.2 +++ b/libs/dsys2/dsys_impl.h Wed Feb 20 05:45:27 2013 +0200 11.3 @@ -1,3 +1,20 @@ 11.4 +/* 11.5 +New demosystem by Nuclear / Mindlapse 11.6 +Copyright (C) 2011-2013 John Tsiombikas <nuclear@member.fsf.org> 11.7 + 11.8 +This program is free software: you can redistribute it and/or modify 11.9 +it under the terms of the GNU General Public License as published by 11.10 +the Free Software Foundation, either version 3 of the License, or 11.11 +(at your option) any later version. 11.12 + 11.13 +This program is distributed in the hope that it will be useful, 11.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 11.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11.16 +GNU General Public License for more details. 11.17 + 11.18 +You should have received a copy of the GNU General Public License 11.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 11.20 +*/ 11.21 #ifndef DSYS_IMPL_H_ 11.22 #define DSYS_IMPL_H_ 11.23
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 12.2 +++ b/libs/metasurf/COPYING Wed Feb 20 05:45:27 2013 +0200 12.3 @@ -0,0 +1,674 @@ 12.4 + GNU GENERAL PUBLIC LICENSE 12.5 + Version 3, 29 June 2007 12.6 + 12.7 + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> 12.8 + Everyone is permitted to copy and distribute verbatim copies 12.9 + of this license document, but changing it is not allowed. 12.10 + 12.11 + Preamble 12.12 + 12.13 + The GNU General Public License is a free, copyleft license for 12.14 +software and other kinds of works. 12.15 + 12.16 + The licenses for most software and other practical works are designed 12.17 +to take away your freedom to share and change the works. By contrast, 12.18 +the GNU General Public License is intended to guarantee your freedom to 12.19 +share and change all versions of a program--to make sure it remains free 12.20 +software for all its users. We, the Free Software Foundation, use the 12.21 +GNU General Public License for most of our software; it applies also to 12.22 +any other work released this way by its authors. You can apply it to 12.23 +your programs, too. 12.24 + 12.25 + When we speak of free software, we are referring to freedom, not 12.26 +price. Our General Public Licenses are designed to make sure that you 12.27 +have the freedom to distribute copies of free software (and charge for 12.28 +them if you wish), that you receive source code or can get it if you 12.29 +want it, that you can change the software or use pieces of it in new 12.30 +free programs, and that you know you can do these things. 12.31 + 12.32 + To protect your rights, we need to prevent others from denying you 12.33 +these rights or asking you to surrender the rights. Therefore, you have 12.34 +certain responsibilities if you distribute copies of the software, or if 12.35 +you modify it: responsibilities to respect the freedom of others. 12.36 + 12.37 + For example, if you distribute copies of such a program, whether 12.38 +gratis or for a fee, you must pass on to the recipients the same 12.39 +freedoms that you received. You must make sure that they, too, receive 12.40 +or can get the source code. And you must show them these terms so they 12.41 +know their rights. 12.42 + 12.43 + Developers that use the GNU GPL protect your rights with two steps: 12.44 +(1) assert copyright on the software, and (2) offer you this License 12.45 +giving you legal permission to copy, distribute and/or modify it. 12.46 + 12.47 + For the developers' and authors' protection, the GPL clearly explains 12.48 +that there is no warranty for this free software. For both users' and 12.49 +authors' sake, the GPL requires that modified versions be marked as 12.50 +changed, so that their problems will not be attributed erroneously to 12.51 +authors of previous versions. 12.52 + 12.53 + Some devices are designed to deny users access to install or run 12.54 +modified versions of the software inside them, although the manufacturer 12.55 +can do so. This is fundamentally incompatible with the aim of 12.56 +protecting users' freedom to change the software. The systematic 12.57 +pattern of such abuse occurs in the area of products for individuals to 12.58 +use, which is precisely where it is most unacceptable. Therefore, we 12.59 +have designed this version of the GPL to prohibit the practice for those 12.60 +products. If such problems arise substantially in other domains, we 12.61 +stand ready to extend this provision to those domains in future versions 12.62 +of the GPL, as needed to protect the freedom of users. 12.63 + 12.64 + Finally, every program is threatened constantly by software patents. 12.65 +States should not allow patents to restrict development and use of 12.66 +software on general-purpose computers, but in those that do, we wish to 12.67 +avoid the special danger that patents applied to a free program could 12.68 +make it effectively proprietary. To prevent this, the GPL assures that 12.69 +patents cannot be used to render the program non-free. 12.70 + 12.71 + The precise terms and conditions for copying, distribution and 12.72 +modification follow. 12.73 + 12.74 + TERMS AND CONDITIONS 12.75 + 12.76 + 0. Definitions. 12.77 + 12.78 + "This License" refers to version 3 of the GNU General Public License. 12.79 + 12.80 + "Copyright" also means copyright-like laws that apply to other kinds of 12.81 +works, such as semiconductor masks. 12.82 + 12.83 + "The Program" refers to any copyrightable work licensed under this 12.84 +License. Each licensee is addressed as "you". "Licensees" and 12.85 +"recipients" may be individuals or organizations. 12.86 + 12.87 + To "modify" a work means to copy from or adapt all or part of the work 12.88 +in a fashion requiring copyright permission, other than the making of an 12.89 +exact copy. The resulting work is called a "modified version" of the 12.90 +earlier work or a work "based on" the earlier work. 12.91 + 12.92 + A "covered work" means either the unmodified Program or a work based 12.93 +on the Program. 12.94 + 12.95 + To "propagate" a work means to do anything with it that, without 12.96 +permission, would make you directly or secondarily liable for 12.97 +infringement under applicable copyright law, except executing it on a 12.98 +computer or modifying a private copy. Propagation includes copying, 12.99 +distribution (with or without modification), making available to the 12.100 +public, and in some countries other activities as well. 12.101 + 12.102 + To "convey" a work means any kind of propagation that enables other 12.103 +parties to make or receive copies. Mere interaction with a user through 12.104 +a computer network, with no transfer of a copy, is not conveying. 12.105 + 12.106 + An interactive user interface displays "Appropriate Legal Notices" 12.107 +to the extent that it includes a convenient and prominently visible 12.108 +feature that (1) displays an appropriate copyright notice, and (2) 12.109 +tells the user that there is no warranty for the work (except to the 12.110 +extent that warranties are provided), that licensees may convey the 12.111 +work under this License, and how to view a copy of this License. If 12.112 +the interface presents a list of user commands or options, such as a 12.113 +menu, a prominent item in the list meets this criterion. 12.114 + 12.115 + 1. Source Code. 12.116 + 12.117 + The "source code" for a work means the preferred form of the work 12.118 +for making modifications to it. "Object code" means any non-source 12.119 +form of a work. 12.120 + 12.121 + A "Standard Interface" means an interface that either is an official 12.122 +standard defined by a recognized standards body, or, in the case of 12.123 +interfaces specified for a particular programming language, one that 12.124 +is widely used among developers working in that language. 12.125 + 12.126 + The "System Libraries" of an executable work include anything, other 12.127 +than the work as a whole, that (a) is included in the normal form of 12.128 +packaging a Major Component, but which is not part of that Major 12.129 +Component, and (b) serves only to enable use of the work with that 12.130 +Major Component, or to implement a Standard Interface for which an 12.131 +implementation is available to the public in source code form. A 12.132 +"Major Component", in this context, means a major essential component 12.133 +(kernel, window system, and so on) of the specific operating system 12.134 +(if any) on which the executable work runs, or a compiler used to 12.135 +produce the work, or an object code interpreter used to run it. 12.136 + 12.137 + The "Corresponding Source" for a work in object code form means all 12.138 +the source code needed to generate, install, and (for an executable 12.139 +work) run the object code and to modify the work, including scripts to 12.140 +control those activities. However, it does not include the work's 12.141 +System Libraries, or general-purpose tools or generally available free 12.142 +programs which are used unmodified in performing those activities but 12.143 +which are not part of the work. For example, Corresponding Source 12.144 +includes interface definition files associated with source files for 12.145 +the work, and the source code for shared libraries and dynamically 12.146 +linked subprograms that the work is specifically designed to require, 12.147 +such as by intimate data communication or control flow between those 12.148 +subprograms and other parts of the work. 12.149 + 12.150 + The Corresponding Source need not include anything that users 12.151 +can regenerate automatically from other parts of the Corresponding 12.152 +Source. 12.153 + 12.154 + The Corresponding Source for a work in source code form is that 12.155 +same work. 12.156 + 12.157 + 2. Basic Permissions. 12.158 + 12.159 + All rights granted under this License are granted for the term of 12.160 +copyright on the Program, and are irrevocable provided the stated 12.161 +conditions are met. This License explicitly affirms your unlimited 12.162 +permission to run the unmodified Program. The output from running a 12.163 +covered work is covered by this License only if the output, given its 12.164 +content, constitutes a covered work. This License acknowledges your 12.165 +rights of fair use or other equivalent, as provided by copyright law. 12.166 + 12.167 + You may make, run and propagate covered works that you do not 12.168 +convey, without conditions so long as your license otherwise remains 12.169 +in force. You may convey covered works to others for the sole purpose 12.170 +of having them make modifications exclusively for you, or provide you 12.171 +with facilities for running those works, provided that you comply with 12.172 +the terms of this License in conveying all material for which you do 12.173 +not control copyright. Those thus making or running the covered works 12.174 +for you must do so exclusively on your behalf, under your direction 12.175 +and control, on terms that prohibit them from making any copies of 12.176 +your copyrighted material outside their relationship with you. 12.177 + 12.178 + Conveying under any other circumstances is permitted solely under 12.179 +the conditions stated below. Sublicensing is not allowed; section 10 12.180 +makes it unnecessary. 12.181 + 12.182 + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 12.183 + 12.184 + No covered work shall be deemed part of an effective technological 12.185 +measure under any applicable law fulfilling obligations under article 12.186 +11 of the WIPO copyright treaty adopted on 20 December 1996, or 12.187 +similar laws prohibiting or restricting circumvention of such 12.188 +measures. 12.189 + 12.190 + When you convey a covered work, you waive any legal power to forbid 12.191 +circumvention of technological measures to the extent such circumvention 12.192 +is effected by exercising rights under this License with respect to 12.193 +the covered work, and you disclaim any intention to limit operation or 12.194 +modification of the work as a means of enforcing, against the work's 12.195 +users, your or third parties' legal rights to forbid circumvention of 12.196 +technological measures. 12.197 + 12.198 + 4. Conveying Verbatim Copies. 12.199 + 12.200 + You may convey verbatim copies of the Program's source code as you 12.201 +receive it, in any medium, provided that you conspicuously and 12.202 +appropriately publish on each copy an appropriate copyright notice; 12.203 +keep intact all notices stating that this License and any 12.204 +non-permissive terms added in accord with section 7 apply to the code; 12.205 +keep intact all notices of the absence of any warranty; and give all 12.206 +recipients a copy of this License along with the Program. 12.207 + 12.208 + You may charge any price or no price for each copy that you convey, 12.209 +and you may offer support or warranty protection for a fee. 12.210 + 12.211 + 5. Conveying Modified Source Versions. 12.212 + 12.213 + You may convey a work based on the Program, or the modifications to 12.214 +produce it from the Program, in the form of source code under the 12.215 +terms of section 4, provided that you also meet all of these conditions: 12.216 + 12.217 + a) The work must carry prominent notices stating that you modified 12.218 + it, and giving a relevant date. 12.219 + 12.220 + b) The work must carry prominent notices stating that it is 12.221 + released under this License and any conditions added under section 12.222 + 7. This requirement modifies the requirement in section 4 to 12.223 + "keep intact all notices". 12.224 + 12.225 + c) You must license the entire work, as a whole, under this 12.226 + License to anyone who comes into possession of a copy. This 12.227 + License will therefore apply, along with any applicable section 7 12.228 + additional terms, to the whole of the work, and all its parts, 12.229 + regardless of how they are packaged. This License gives no 12.230 + permission to license the work in any other way, but it does not 12.231 + invalidate such permission if you have separately received it. 12.232 + 12.233 + d) If the work has interactive user interfaces, each must display 12.234 + Appropriate Legal Notices; however, if the Program has interactive 12.235 + interfaces that do not display Appropriate Legal Notices, your 12.236 + work need not make them do so. 12.237 + 12.238 + A compilation of a covered work with other separate and independent 12.239 +works, which are not by their nature extensions of the covered work, 12.240 +and which are not combined with it such as to form a larger program, 12.241 +in or on a volume of a storage or distribution medium, is called an 12.242 +"aggregate" if the compilation and its resulting copyright are not 12.243 +used to limit the access or legal rights of the compilation's users 12.244 +beyond what the individual works permit. Inclusion of a covered work 12.245 +in an aggregate does not cause this License to apply to the other 12.246 +parts of the aggregate. 12.247 + 12.248 + 6. Conveying Non-Source Forms. 12.249 + 12.250 + You may convey a covered work in object code form under the terms 12.251 +of sections 4 and 5, provided that you also convey the 12.252 +machine-readable Corresponding Source under the terms of this License, 12.253 +in one of these ways: 12.254 + 12.255 + a) Convey the object code in, or embodied in, a physical product 12.256 + (including a physical distribution medium), accompanied by the 12.257 + Corresponding Source fixed on a durable physical medium 12.258 + customarily used for software interchange. 12.259 + 12.260 + b) Convey the object code in, or embodied in, a physical product 12.261 + (including a physical distribution medium), accompanied by a 12.262 + written offer, valid for at least three years and valid for as 12.263 + long as you offer spare parts or customer support for that product 12.264 + model, to give anyone who possesses the object code either (1) a 12.265 + copy of the Corresponding Source for all the software in the 12.266 + product that is covered by this License, on a durable physical 12.267 + medium customarily used for software interchange, for a price no 12.268 + more than your reasonable cost of physically performing this 12.269 + conveying of source, or (2) access to copy the 12.270 + Corresponding Source from a network server at no charge. 12.271 + 12.272 + c) Convey individual copies of the object code with a copy of the 12.273 + written offer to provide the Corresponding Source. This 12.274 + alternative is allowed only occasionally and noncommercially, and 12.275 + only if you received the object code with such an offer, in accord 12.276 + with subsection 6b. 12.277 + 12.278 + d) Convey the object code by offering access from a designated 12.279 + place (gratis or for a charge), and offer equivalent access to the 12.280 + Corresponding Source in the same way through the same place at no 12.281 + further charge. You need not require recipients to copy the 12.282 + Corresponding Source along with the object code. If the place to 12.283 + copy the object code is a network server, the Corresponding Source 12.284 + may be on a different server (operated by you or a third party) 12.285 + that supports equivalent copying facilities, provided you maintain 12.286 + clear directions next to the object code saying where to find the 12.287 + Corresponding Source. Regardless of what server hosts the 12.288 + Corresponding Source, you remain obligated to ensure that it is 12.289 + available for as long as needed to satisfy these requirements. 12.290 + 12.291 + e) Convey the object code using peer-to-peer transmission, provided 12.292 + you inform other peers where the object code and Corresponding 12.293 + Source of the work are being offered to the general public at no 12.294 + charge under subsection 6d. 12.295 + 12.296 + A separable portion of the object code, whose source code is excluded 12.297 +from the Corresponding Source as a System Library, need not be 12.298 +included in conveying the object code work. 12.299 + 12.300 + A "User Product" is either (1) a "consumer product", which means any 12.301 +tangible personal property which is normally used for personal, family, 12.302 +or household purposes, or (2) anything designed or sold for incorporation 12.303 +into a dwelling. In determining whether a product is a consumer product, 12.304 +doubtful cases shall be resolved in favor of coverage. For a particular 12.305 +product received by a particular user, "normally used" refers to a 12.306 +typical or common use of that class of product, regardless of the status 12.307 +of the particular user or of the way in which the particular user 12.308 +actually uses, or expects or is expected to use, the product. A product 12.309 +is a consumer product regardless of whether the product has substantial 12.310 +commercial, industrial or non-consumer uses, unless such uses represent 12.311 +the only significant mode of use of the product. 12.312 + 12.313 + "Installation Information" for a User Product means any methods, 12.314 +procedures, authorization keys, or other information required to install 12.315 +and execute modified versions of a covered work in that User Product from 12.316 +a modified version of its Corresponding Source. The information must 12.317 +suffice to ensure that the continued functioning of the modified object 12.318 +code is in no case prevented or interfered with solely because 12.319 +modification has been made. 12.320 + 12.321 + If you convey an object code work under this section in, or with, or 12.322 +specifically for use in, a User Product, and the conveying occurs as 12.323 +part of a transaction in which the right of possession and use of the 12.324 +User Product is transferred to the recipient in perpetuity or for a 12.325 +fixed term (regardless of how the transaction is characterized), the 12.326 +Corresponding Source conveyed under this section must be accompanied 12.327 +by the Installation Information. But this requirement does not apply 12.328 +if neither you nor any third party retains the ability to install 12.329 +modified object code on the User Product (for example, the work has 12.330 +been installed in ROM). 12.331 + 12.332 + The requirement to provide Installation Information does not include a 12.333 +requirement to continue to provide support service, warranty, or updates 12.334 +for a work that has been modified or installed by the recipient, or for 12.335 +the User Product in which it has been modified or installed. Access to a 12.336 +network may be denied when the modification itself materially and 12.337 +adversely affects the operation of the network or violates the rules and 12.338 +protocols for communication across the network. 12.339 + 12.340 + Corresponding Source conveyed, and Installation Information provided, 12.341 +in accord with this section must be in a format that is publicly 12.342 +documented (and with an implementation available to the public in 12.343 +source code form), and must require no special password or key for 12.344 +unpacking, reading or copying. 12.345 + 12.346 + 7. Additional Terms. 12.347 + 12.348 + "Additional permissions" are terms that supplement the terms of this 12.349 +License by making exceptions from one or more of its conditions. 12.350 +Additional permissions that are applicable to the entire Program shall 12.351 +be treated as though they were included in this License, to the extent 12.352 +that they are valid under applicable law. If additional permissions 12.353 +apply only to part of the Program, that part may be used separately 12.354 +under those permissions, but the entire Program remains governed by 12.355 +this License without regard to the additional permissions. 12.356 + 12.357 + When you convey a copy of a covered work, you may at your option 12.358 +remove any additional permissions from that copy, or from any part of 12.359 +it. (Additional permissions may be written to require their own 12.360 +removal in certain cases when you modify the work.) You may place 12.361 +additional permissions on material, added by you to a covered work, 12.362 +for which you have or can give appropriate copyright permission. 12.363 + 12.364 + Notwithstanding any other provision of this License, for material you 12.365 +add to a covered work, you may (if authorized by the copyright holders of 12.366 +that material) supplement the terms of this License with terms: 12.367 + 12.368 + a) Disclaiming warranty or limiting liability differently from the 12.369 + terms of sections 15 and 16 of this License; or 12.370 + 12.371 + b) Requiring preservation of specified reasonable legal notices or 12.372 + author attributions in that material or in the Appropriate Legal 12.373 + Notices displayed by works containing it; or 12.374 + 12.375 + c) Prohibiting misrepresentation of the origin of that material, or 12.376 + requiring that modified versions of such material be marked in 12.377 + reasonable ways as different from the original version; or 12.378 + 12.379 + d) Limiting the use for publicity purposes of names of licensors or 12.380 + authors of the material; or 12.381 + 12.382 + e) Declining to grant rights under trademark law for use of some 12.383 + trade names, trademarks, or service marks; or 12.384 + 12.385 + f) Requiring indemnification of licensors and authors of that 12.386 + material by anyone who conveys the material (or modified versions of 12.387 + it) with contractual assumptions of liability to the recipient, for 12.388 + any liability that these contractual assumptions directly impose on 12.389 + those licensors and authors. 12.390 + 12.391 + All other non-permissive additional terms are considered "further 12.392 +restrictions" within the meaning of section 10. If the Program as you 12.393 +received it, or any part of it, contains a notice stating that it is 12.394 +governed by this License along with a term that is a further 12.395 +restriction, you may remove that term. If a license document contains 12.396 +a further restriction but permits relicensing or conveying under this 12.397 +License, you may add to a covered work material governed by the terms 12.398 +of that license document, provided that the further restriction does 12.399 +not survive such relicensing or conveying. 12.400 + 12.401 + If you add terms to a covered work in accord with this section, you 12.402 +must place, in the relevant source files, a statement of the 12.403 +additional terms that apply to those files, or a notice indicating 12.404 +where to find the applicable terms. 12.405 + 12.406 + Additional terms, permissive or non-permissive, may be stated in the 12.407 +form of a separately written license, or stated as exceptions; 12.408 +the above requirements apply either way. 12.409 + 12.410 + 8. Termination. 12.411 + 12.412 + You may not propagate or modify a covered work except as expressly 12.413 +provided under this License. Any attempt otherwise to propagate or 12.414 +modify it is void, and will automatically terminate your rights under 12.415 +this License (including any patent licenses granted under the third 12.416 +paragraph of section 11). 12.417 + 12.418 + However, if you cease all violation of this License, then your 12.419 +license from a particular copyright holder is reinstated (a) 12.420 +provisionally, unless and until the copyright holder explicitly and 12.421 +finally terminates your license, and (b) permanently, if the copyright 12.422 +holder fails to notify you of the violation by some reasonable means 12.423 +prior to 60 days after the cessation. 12.424 + 12.425 + Moreover, your license from a particular copyright holder is 12.426 +reinstated permanently if the copyright holder notifies you of the 12.427 +violation by some reasonable means, this is the first time you have 12.428 +received notice of violation of this License (for any work) from that 12.429 +copyright holder, and you cure the violation prior to 30 days after 12.430 +your receipt of the notice. 12.431 + 12.432 + Termination of your rights under this section does not terminate the 12.433 +licenses of parties who have received copies or rights from you under 12.434 +this License. If your rights have been terminated and not permanently 12.435 +reinstated, you do not qualify to receive new licenses for the same 12.436 +material under section 10. 12.437 + 12.438 + 9. Acceptance Not Required for Having Copies. 12.439 + 12.440 + You are not required to accept this License in order to receive or 12.441 +run a copy of the Program. Ancillary propagation of a covered work 12.442 +occurring solely as a consequence of using peer-to-peer transmission 12.443 +to receive a copy likewise does not require acceptance. However, 12.444 +nothing other than this License grants you permission to propagate or 12.445 +modify any covered work. These actions infringe copyright if you do 12.446 +not accept this License. Therefore, by modifying or propagating a 12.447 +covered work, you indicate your acceptance of this License to do so. 12.448 + 12.449 + 10. Automatic Licensing of Downstream Recipients. 12.450 + 12.451 + Each time you convey a covered work, the recipient automatically 12.452 +receives a license from the original licensors, to run, modify and 12.453 +propagate that work, subject to this License. You are not responsible 12.454 +for enforcing compliance by third parties with this License. 12.455 + 12.456 + An "entity transaction" is a transaction transferring control of an 12.457 +organization, or substantially all assets of one, or subdividing an 12.458 +organization, or merging organizations. If propagation of a covered 12.459 +work results from an entity transaction, each party to that 12.460 +transaction who receives a copy of the work also receives whatever 12.461 +licenses to the work the party's predecessor in interest had or could 12.462 +give under the previous paragraph, plus a right to possession of the 12.463 +Corresponding Source of the work from the predecessor in interest, if 12.464 +the predecessor has it or can get it with reasonable efforts. 12.465 + 12.466 + You may not impose any further restrictions on the exercise of the 12.467 +rights granted or affirmed under this License. For example, you may 12.468 +not impose a license fee, royalty, or other charge for exercise of 12.469 +rights granted under this License, and you may not initiate litigation 12.470 +(including a cross-claim or counterclaim in a lawsuit) alleging that 12.471 +any patent claim is infringed by making, using, selling, offering for 12.472 +sale, or importing the Program or any portion of it. 12.473 + 12.474 + 11. Patents. 12.475 + 12.476 + A "contributor" is a copyright holder who authorizes use under this 12.477 +License of the Program or a work on which the Program is based. The 12.478 +work thus licensed is called the contributor's "contributor version". 12.479 + 12.480 + A contributor's "essential patent claims" are all patent claims 12.481 +owned or controlled by the contributor, whether already acquired or 12.482 +hereafter acquired, that would be infringed by some manner, permitted 12.483 +by this License, of making, using, or selling its contributor version, 12.484 +but do not include claims that would be infringed only as a 12.485 +consequence of further modification of the contributor version. For 12.486 +purposes of this definition, "control" includes the right to grant 12.487 +patent sublicenses in a manner consistent with the requirements of 12.488 +this License. 12.489 + 12.490 + Each contributor grants you a non-exclusive, worldwide, royalty-free 12.491 +patent license under the contributor's essential patent claims, to 12.492 +make, use, sell, offer for sale, import and otherwise run, modify and 12.493 +propagate the contents of its contributor version. 12.494 + 12.495 + In the following three paragraphs, a "patent license" is any express 12.496 +agreement or commitment, however denominated, not to enforce a patent 12.497 +(such as an express permission to practice a patent or covenant not to 12.498 +sue for patent infringement). To "grant" such a patent license to a 12.499 +party means to make such an agreement or commitment not to enforce a 12.500 +patent against the party. 12.501 + 12.502 + If you convey a covered work, knowingly relying on a patent license, 12.503 +and the Corresponding Source of the work is not available for anyone 12.504 +to copy, free of charge and under the terms of this License, through a 12.505 +publicly available network server or other readily accessible means, 12.506 +then you must either (1) cause the Corresponding Source to be so 12.507 +available, or (2) arrange to deprive yourself of the benefit of the 12.508 +patent license for this particular work, or (3) arrange, in a manner 12.509 +consistent with the requirements of this License, to extend the patent 12.510 +license to downstream recipients. "Knowingly relying" means you have 12.511 +actual knowledge that, but for the patent license, your conveying the 12.512 +covered work in a country, or your recipient's use of the covered work 12.513 +in a country, would infringe one or more identifiable patents in that 12.514 +country that you have reason to believe are valid. 12.515 + 12.516 + If, pursuant to or in connection with a single transaction or 12.517 +arrangement, you convey, or propagate by procuring conveyance of, a 12.518 +covered work, and grant a patent license to some of the parties 12.519 +receiving the covered work authorizing them to use, propagate, modify 12.520 +or convey a specific copy of the covered work, then the patent license 12.521 +you grant is automatically extended to all recipients of the covered 12.522 +work and works based on it. 12.523 + 12.524 + A patent license is "discriminatory" if it does not include within 12.525 +the scope of its coverage, prohibits the exercise of, or is 12.526 +conditioned on the non-exercise of one or more of the rights that are 12.527 +specifically granted under this License. You may not convey a covered 12.528 +work if you are a party to an arrangement with a third party that is 12.529 +in the business of distributing software, under which you make payment 12.530 +to the third party based on the extent of your activity of conveying 12.531 +the work, and under which the third party grants, to any of the 12.532 +parties who would receive the covered work from you, a discriminatory 12.533 +patent license (a) in connection with copies of the covered work 12.534 +conveyed by you (or copies made from those copies), or (b) primarily 12.535 +for and in connection with specific products or compilations that 12.536 +contain the covered work, unless you entered into that arrangement, 12.537 +or that patent license was granted, prior to 28 March 2007. 12.538 + 12.539 + Nothing in this License shall be construed as excluding or limiting 12.540 +any implied license or other defenses to infringement that may 12.541 +otherwise be available to you under applicable patent law. 12.542 + 12.543 + 12. No Surrender of Others' Freedom. 12.544 + 12.545 + If conditions are imposed on you (whether by court order, agreement or 12.546 +otherwise) that contradict the conditions of this License, they do not 12.547 +excuse you from the conditions of this License. If you cannot convey a 12.548 +covered work so as to satisfy simultaneously your obligations under this 12.549 +License and any other pertinent obligations, then as a consequence you may 12.550 +not convey it at all. For example, if you agree to terms that obligate you 12.551 +to collect a royalty for further conveying from those to whom you convey 12.552 +the Program, the only way you could satisfy both those terms and this 12.553 +License would be to refrain entirely from conveying the Program. 12.554 + 12.555 + 13. Use with the GNU Affero General Public License. 12.556 + 12.557 + Notwithstanding any other provision of this License, you have 12.558 +permission to link or combine any covered work with a work licensed 12.559 +under version 3 of the GNU Affero General Public License into a single 12.560 +combined work, and to convey the resulting work. The terms of this 12.561 +License will continue to apply to the part which is the covered work, 12.562 +but the special requirements of the GNU Affero General Public License, 12.563 +section 13, concerning interaction through a network will apply to the 12.564 +combination as such. 12.565 + 12.566 + 14. Revised Versions of this License. 12.567 + 12.568 + The Free Software Foundation may publish revised and/or new versions of 12.569 +the GNU General Public License from time to time. Such new versions will 12.570 +be similar in spirit to the present version, but may differ in detail to 12.571 +address new problems or concerns. 12.572 + 12.573 + Each version is given a distinguishing version number. If the 12.574 +Program specifies that a certain numbered version of the GNU General 12.575 +Public License "or any later version" applies to it, you have the 12.576 +option of following the terms and conditions either of that numbered 12.577 +version or of any later version published by the Free Software 12.578 +Foundation. If the Program does not specify a version number of the 12.579 +GNU General Public License, you may choose any version ever published 12.580 +by the Free Software Foundation. 12.581 + 12.582 + If the Program specifies that a proxy can decide which future 12.583 +versions of the GNU General Public License can be used, that proxy's 12.584 +public statement of acceptance of a version permanently authorizes you 12.585 +to choose that version for the Program. 12.586 + 12.587 + Later license versions may give you additional or different 12.588 +permissions. However, no additional obligations are imposed on any 12.589 +author or copyright holder as a result of your choosing to follow a 12.590 +later version. 12.591 + 12.592 + 15. Disclaimer of Warranty. 12.593 + 12.594 + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 12.595 +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 12.596 +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 12.597 +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 12.598 +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 12.599 +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 12.600 +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 12.601 +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12.602 + 12.603 + 16. Limitation of Liability. 12.604 + 12.605 + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 12.606 +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 12.607 +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 12.608 +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 12.609 +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 12.610 +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 12.611 +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 12.612 +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 12.613 +SUCH DAMAGES. 12.614 + 12.615 + 17. Interpretation of Sections 15 and 16. 12.616 + 12.617 + If the disclaimer of warranty and limitation of liability provided 12.618 +above cannot be given local legal effect according to their terms, 12.619 +reviewing courts shall apply local law that most closely approximates 12.620 +an absolute waiver of all civil liability in connection with the 12.621 +Program, unless a warranty or assumption of liability accompanies a 12.622 +copy of the Program in return for a fee. 12.623 + 12.624 + END OF TERMS AND CONDITIONS 12.625 + 12.626 + How to Apply These Terms to Your New Programs 12.627 + 12.628 + If you develop a new program, and you want it to be of the greatest 12.629 +possible use to the public, the best way to achieve this is to make it 12.630 +free software which everyone can redistribute and change under these terms. 12.631 + 12.632 + To do so, attach the following notices to the program. It is safest 12.633 +to attach them to the start of each source file to most effectively 12.634 +state the exclusion of warranty; and each file should have at least 12.635 +the "copyright" line and a pointer to where the full notice is found. 12.636 + 12.637 + <one line to give the program's name and a brief idea of what it does.> 12.638 + Copyright (C) <year> <name of author> 12.639 + 12.640 + This program is free software: you can redistribute it and/or modify 12.641 + it under the terms of the GNU General Public License as published by 12.642 + the Free Software Foundation, either version 3 of the License, or 12.643 + (at your option) any later version. 12.644 + 12.645 + This program is distributed in the hope that it will be useful, 12.646 + but WITHOUT ANY WARRANTY; without even the implied warranty of 12.647 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12.648 + GNU General Public License for more details. 12.649 + 12.650 + You should have received a copy of the GNU General Public License 12.651 + along with this program. If not, see <http://www.gnu.org/licenses/>. 12.652 + 12.653 +Also add information on how to contact you by electronic and paper mail. 12.654 + 12.655 + If the program does terminal interaction, make it output a short 12.656 +notice like this when it starts in an interactive mode: 12.657 + 12.658 + <program> Copyright (C) <year> <name of author> 12.659 + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 12.660 + This is free software, and you are welcome to redistribute it 12.661 + under certain conditions; type `show c' for details. 12.662 + 12.663 +The hypothetical commands `show w' and `show c' should show the appropriate 12.664 +parts of the General Public License. Of course, your program's commands 12.665 +might be different; for a GUI interface, you would use an "about box". 12.666 + 12.667 + You should also get your employer (if you work as a programmer) or school, 12.668 +if any, to sign a "copyright disclaimer" for the program, if necessary. 12.669 +For more information on this, and how to apply and follow the GNU GPL, see 12.670 +<http://www.gnu.org/licenses/>. 12.671 + 12.672 + The GNU General Public License does not permit incorporating your program 12.673 +into proprietary programs. If your program is a subroutine library, you 12.674 +may consider it more useful to permit linking proprietary applications with 12.675 +the library. If this is what you want to do, use the GNU Lesser General 12.676 +Public License instead of this License. But first, please read 12.677 +<http://www.gnu.org/philosophy/why-not-lgpl.html>.
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 13.2 +++ b/libs/metasurf/COPYING.LESSER Wed Feb 20 05:45:27 2013 +0200 13.3 @@ -0,0 +1,165 @@ 13.4 + GNU LESSER GENERAL PUBLIC LICENSE 13.5 + Version 3, 29 June 2007 13.6 + 13.7 + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> 13.8 + Everyone is permitted to copy and distribute verbatim copies 13.9 + of this license document, but changing it is not allowed. 13.10 + 13.11 + 13.12 + This version of the GNU Lesser General Public License incorporates 13.13 +the terms and conditions of version 3 of the GNU General Public 13.14 +License, supplemented by the additional permissions listed below. 13.15 + 13.16 + 0. Additional Definitions. 13.17 + 13.18 + As used herein, "this License" refers to version 3 of the GNU Lesser 13.19 +General Public License, and the "GNU GPL" refers to version 3 of the GNU 13.20 +General Public License. 13.21 + 13.22 + "The Library" refers to a covered work governed by this License, 13.23 +other than an Application or a Combined Work as defined below. 13.24 + 13.25 + An "Application" is any work that makes use of an interface provided 13.26 +by the Library, but which is not otherwise based on the Library. 13.27 +Defining a subclass of a class defined by the Library is deemed a mode 13.28 +of using an interface provided by the Library. 13.29 + 13.30 + A "Combined Work" is a work produced by combining or linking an 13.31 +Application with the Library. The particular version of the Library 13.32 +with which the Combined Work was made is also called the "Linked 13.33 +Version". 13.34 + 13.35 + The "Minimal Corresponding Source" for a Combined Work means the 13.36 +Corresponding Source for the Combined Work, excluding any source code 13.37 +for portions of the Combined Work that, considered in isolation, are 13.38 +based on the Application, and not on the Linked Version. 13.39 + 13.40 + The "Corresponding Application Code" for a Combined Work means the 13.41 +object code and/or source code for the Application, including any data 13.42 +and utility programs needed for reproducing the Combined Work from the 13.43 +Application, but excluding the System Libraries of the Combined Work. 13.44 + 13.45 + 1. Exception to Section 3 of the GNU GPL. 13.46 + 13.47 + You may convey a covered work under sections 3 and 4 of this License 13.48 +without being bound by section 3 of the GNU GPL. 13.49 + 13.50 + 2. Conveying Modified Versions. 13.51 + 13.52 + If you modify a copy of the Library, and, in your modifications, a 13.53 +facility refers to a function or data to be supplied by an Application 13.54 +that uses the facility (other than as an argument passed when the 13.55 +facility is invoked), then you may convey a copy of the modified 13.56 +version: 13.57 + 13.58 + a) under this License, provided that you make a good faith effort to 13.59 + ensure that, in the event an Application does not supply the 13.60 + function or data, the facility still operates, and performs 13.61 + whatever part of its purpose remains meaningful, or 13.62 + 13.63 + b) under the GNU GPL, with none of the additional permissions of 13.64 + this License applicable to that copy. 13.65 + 13.66 + 3. Object Code Incorporating Material from Library Header Files. 13.67 + 13.68 + The object code form of an Application may incorporate material from 13.69 +a header file that is part of the Library. You may convey such object 13.70 +code under terms of your choice, provided that, if the incorporated 13.71 +material is not limited to numerical parameters, data structure 13.72 +layouts and accessors, or small macros, inline functions and templates 13.73 +(ten or fewer lines in length), you do both of the following: 13.74 + 13.75 + a) Give prominent notice with each copy of the object code that the 13.76 + Library is used in it and that the Library and its use are 13.77 + covered by this License. 13.78 + 13.79 + b) Accompany the object code with a copy of the GNU GPL and this license 13.80 + document. 13.81 + 13.82 + 4. Combined Works. 13.83 + 13.84 + You may convey a Combined Work under terms of your choice that, 13.85 +taken together, effectively do not restrict modification of the 13.86 +portions of the Library contained in the Combined Work and reverse 13.87 +engineering for debugging such modifications, if you also do each of 13.88 +the following: 13.89 + 13.90 + a) Give prominent notice with each copy of the Combined Work that 13.91 + the Library is used in it and that the Library and its use are 13.92 + covered by this License. 13.93 + 13.94 + b) Accompany the Combined Work with a copy of the GNU GPL and this license 13.95 + document. 13.96 + 13.97 + c) For a Combined Work that displays copyright notices during 13.98 + execution, include the copyright notice for the Library among 13.99 + these notices, as well as a reference directing the user to the 13.100 + copies of the GNU GPL and this license document. 13.101 + 13.102 + d) Do one of the following: 13.103 + 13.104 + 0) Convey the Minimal Corresponding Source under the terms of this 13.105 + License, and the Corresponding Application Code in a form 13.106 + suitable for, and under terms that permit, the user to 13.107 + recombine or relink the Application with a modified version of 13.108 + the Linked Version to produce a modified Combined Work, in the 13.109 + manner specified by section 6 of the GNU GPL for conveying 13.110 + Corresponding Source. 13.111 + 13.112 + 1) Use a suitable shared library mechanism for linking with the 13.113 + Library. A suitable mechanism is one that (a) uses at run time 13.114 + a copy of the Library already present on the user's computer 13.115 + system, and (b) will operate properly with a modified version 13.116 + of the Library that is interface-compatible with the Linked 13.117 + Version. 13.118 + 13.119 + e) Provide Installation Information, but only if you would otherwise 13.120 + be required to provide such information under section 6 of the 13.121 + GNU GPL, and only to the extent that such information is 13.122 + necessary to install and execute a modified version of the 13.123 + Combined Work produced by recombining or relinking the 13.124 + Application with a modified version of the Linked Version. (If 13.125 + you use option 4d0, the Installation Information must accompany 13.126 + the Minimal Corresponding Source and Corresponding Application 13.127 + Code. If you use option 4d1, you must provide the Installation 13.128 + Information in the manner specified by section 6 of the GNU GPL 13.129 + for conveying Corresponding Source.) 13.130 + 13.131 + 5. Combined Libraries. 13.132 + 13.133 + You may place library facilities that are a work based on the 13.134 +Library side by side in a single library together with other library 13.135 +facilities that are not Applications and are not covered by this 13.136 +License, and convey such a combined library under terms of your 13.137 +choice, if you do both of the following: 13.138 + 13.139 + a) Accompany the combined library with a copy of the same work based 13.140 + on the Library, uncombined with any other library facilities, 13.141 + conveyed under the terms of this License. 13.142 + 13.143 + b) Give prominent notice with the combined library that part of it 13.144 + is a work based on the Library, and explaining where to find the 13.145 + accompanying uncombined form of the same work. 13.146 + 13.147 + 6. Revised Versions of the GNU Lesser General Public License. 13.148 + 13.149 + The Free Software Foundation may publish revised and/or new versions 13.150 +of the GNU Lesser General Public License from time to time. Such new 13.151 +versions will be similar in spirit to the present version, but may 13.152 +differ in detail to address new problems or concerns. 13.153 + 13.154 + Each version is given a distinguishing version number. If the 13.155 +Library as you received it specifies that a certain numbered version 13.156 +of the GNU Lesser General Public License "or any later version" 13.157 +applies to it, you have the option of following the terms and 13.158 +conditions either of that published version or of any later version 13.159 +published by the Free Software Foundation. If the Library as you 13.160 +received it does not specify a version number of the GNU Lesser 13.161 +General Public License, you may choose any version of the GNU Lesser 13.162 +General Public License ever published by the Free Software Foundation. 13.163 + 13.164 + If the Library as you received it specifies that a proxy can decide 13.165 +whether future versions of the GNU Lesser General Public License shall 13.166 +apply, that proxy's public statement of acceptance of any version is 13.167 +permanent authorization for you to choose that version for the 13.168 +Library.
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 14.2 +++ b/libs/metasurf/README Wed Feb 20 05:45:27 2013 +0200 14.3 @@ -0,0 +1,50 @@ 14.4 +metasurf - a library for implicit surface polygonization 14.5 + 14.6 +1. Overview 14.7 +----------- 14.8 + 14.9 +Metasurf is a library for implict surface polygonization. You only need to 14.10 +set a callback that returns the scalar field value at any given point in 14.11 +3-space, and another callback to accept isosurface vertices. Then at any point 14.12 +just call msurf_polygonize, and the library handles everything else for you. 14.13 + 14.14 +2. Usage 14.15 +-------- 14.16 +The following snippet is sufficient to draw the surface of an implicit unit 14.17 +sphere, centered around the origin. 14.18 + 14.19 + struct metasurface *ms; 14.20 + 14.21 + /* initialization */ 14.22 + ms = msurf_create(); 14.23 + msurf_eval_func(ms, eval); 14.24 + msurf_vertex_func(ms, glVertex3f); 14.25 + 14.26 + /* drawing */ 14.27 + glBegin(GL_TRIANGLES); 14.28 + msurf_polygonize(ms); 14.29 + glEnd(); 14.30 + 14.31 + /* evaluator */ 14.32 + float eval(float x, float y, float z) 14.33 + { 14.34 + return (x * x + y * y + z * z) - 1.0; 14.35 + } 14.36 + 14.37 +See the examples subdirectory for more examples. 14.38 + 14.39 +3. License 14.40 +---------- 14.41 +Copyright: John Tsiombikas <nuclear@member.fsf.org> 14.42 + 14.43 +Metasurf is free software, you may use, modify, and redistribute it freely under 14.44 +the terms of the GNU Lesser General Public License (LGPL) v3 (or at your option, 14.45 +any later version published by the Free Software Foundation). See COPYING and 14.46 +COPYING.LESSER for more details. 14.47 + 14.48 + 14.49 +4. Contributions 14.50 +---------------- 14.51 +If you'd like to fix the marching tetrahedra implementation or have any other 14.52 +ideas for improving this library drop me an email at: nuclear@member.fsf.org. 14.53 +Also feel free to submit patches for bugfixes.
15.1 --- a/sdr/dither.p.glsl Wed Feb 20 04:55:03 2013 +0200 15.2 +++ b/sdr/dither.p.glsl Wed Feb 20 05:45:27 2013 +0200 15.3 @@ -1,3 +1,20 @@ 15.4 +/* 15.5 +Printblobs - typography display hack 15.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 15.7 + 15.8 +This program is free software: you can redistribute it and/or modify 15.9 +it under the terms of the GNU General Public License as published by 15.10 +the Free Software Foundation, either version 3 of the License, or 15.11 +(at your option) any later version. 15.12 + 15.13 +This program is distributed in the hope that it will be useful, 15.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 15.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15.16 +GNU General Public License for more details. 15.17 + 15.18 +You should have received a copy of the GNU General Public License 15.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 15.20 +*/ 15.21 uniform sampler2D framebuf, dither_tex; 15.22 uniform int dither_levels, dither_size; 15.23
16.1 --- a/sdr/dither.v.glsl Wed Feb 20 04:55:03 2013 +0200 16.2 +++ b/sdr/dither.v.glsl Wed Feb 20 05:45:27 2013 +0200 16.3 @@ -1,3 +1,20 @@ 16.4 +/* 16.5 +Printblobs - typography display hack 16.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 16.7 + 16.8 +This program is free software: you can redistribute it and/or modify 16.9 +it under the terms of the GNU General Public License as published by 16.10 +the Free Software Foundation, either version 3 of the License, or 16.11 +(at your option) any later version. 16.12 + 16.13 +This program is distributed in the hope that it will be useful, 16.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 16.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16.16 +GNU General Public License for more details. 16.17 + 16.18 +You should have received a copy of the GNU General Public License 16.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 16.20 +*/ 16.21 void main() 16.22 { 16.23 gl_Position = ftransform();
17.1 --- a/sdr/phong.p.glsl Wed Feb 20 04:55:03 2013 +0200 17.2 +++ b/sdr/phong.p.glsl Wed Feb 20 05:45:27 2013 +0200 17.3 @@ -1,3 +1,20 @@ 17.4 +/* 17.5 +Printblobs - typography display hack 17.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 17.7 + 17.8 +This program is free software: you can redistribute it and/or modify 17.9 +it under the terms of the GNU General Public License as published by 17.10 +the Free Software Foundation, either version 3 of the License, or 17.11 +(at your option) any later version. 17.12 + 17.13 +This program is distributed in the hope that it will be useful, 17.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 17.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17.16 +GNU General Public License for more details. 17.17 + 17.18 +You should have received a copy of the GNU General Public License 17.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 17.20 +*/ 17.21 varying vec3 normal, vpos; 17.22 17.23 void main()
18.1 --- a/sdr/phong.v.glsl Wed Feb 20 04:55:03 2013 +0200 18.2 +++ b/sdr/phong.v.glsl Wed Feb 20 05:45:27 2013 +0200 18.3 @@ -1,3 +1,20 @@ 18.4 +/* 18.5 +Printblobs - typography display hack 18.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 18.7 + 18.8 +This program is free software: you can redistribute it and/or modify 18.9 +it under the terms of the GNU General Public License as published by 18.10 +the Free Software Foundation, either version 3 of the License, or 18.11 +(at your option) any later version. 18.12 + 18.13 +This program is distributed in the hope that it will be useful, 18.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 18.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18.16 +GNU General Public License for more details. 18.17 + 18.18 +You should have received a copy of the GNU General Public License 18.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 18.20 +*/ 18.21 varying vec3 normal, vpos; 18.22 18.23 void main()
19.1 --- a/src/dither_matrix.h Wed Feb 20 04:55:03 2013 +0200 19.2 +++ b/src/dither_matrix.h Wed Feb 20 05:45:27 2013 +0200 19.3 @@ -1,3 +1,6 @@ 19.4 +/* dither matrices taken directly from: 19.5 + * http://caca.zoy.org/wiki/libcaca/study/2 19.6 + */ 19.7 #ifndef DITHER_MATRIX_H_ 19.8 #define DITHER_MATRIX_H_ 19.9
20.1 --- a/src/mballs.cc Wed Feb 20 04:55:03 2013 +0200 20.2 +++ b/src/mballs.cc Wed Feb 20 05:45:27 2013 +0200 20.3 @@ -1,13 +1,30 @@ 20.4 +/* 20.5 +Printblobs - typography display hack 20.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 20.7 + 20.8 +This program is free software: you can redistribute it and/or modify 20.9 +it under the terms of the GNU General Public License as published by 20.10 +the Free Software Foundation, either version 3 of the License, or 20.11 +(at your option) any later version. 20.12 + 20.13 +This program is distributed in the hope that it will be useful, 20.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 20.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20.16 +GNU General Public License for more details. 20.17 + 20.18 +You should have received a copy of the GNU General Public License 20.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 20.20 +*/ 20.21 #include <vector> 20.22 +#include <math.h> 20.23 #include "opengl.h" 20.24 #include "mballs.h" 20.25 #include "metasurf.h" 20.26 -#include "vmath/vmath.h" 20.27 #include "dsys.h" 20.28 #include "udg.h" 20.29 20.30 struct MetaBall { 20.31 - Vector3 pos; 20.32 + float pos[3]; 20.33 float orbit; 20.34 float energy; 20.35 float phase_offs; 20.36 @@ -127,9 +144,9 @@ 20.37 20.38 for(size_t i=0; i<balls.size(); i++) { 20.39 float t = sec + balls[i].phase_offs; 20.40 - balls[i].pos.x = cos(t * 1.8) * balls[i].orbit; 20.41 - balls[i].pos.z = sin(t * 1.2) * balls[i].orbit; 20.42 - balls[i].pos.y = (sin(t) + cos(t * 2.0) / 2.0 + sin(t * 3.0) / 3.0) * 0.45 - (2.0 - trise * 2.0); 20.43 + balls[i].pos[0] = cos(t * 1.8) * balls[i].orbit; 20.44 + balls[i].pos[2] = sin(t * 1.2) * balls[i].orbit; 20.45 + balls[i].pos[1] = (sin(t) + cos(t * 2.0) / 2.0 + sin(t * 3.0) / 3.0) * 0.45 - (2.0 - trise * 2.0); 20.46 } 20.47 20.48 for(int i=0; i<MBALL_GRID_SZ; i++) { 20.49 @@ -146,11 +163,12 @@ 20.50 20.51 static float calc_field(float x, float y, float z) 20.52 { 20.53 - Vector3 pt(x, y, z); 20.54 - 20.55 float sum = 0.0f; 20.56 for(size_t i=0; i<balls.size(); i++) { 20.57 - float dist_sq = (balls[i].pos - pt).length_sq(); 20.58 + float dx = balls[i].pos[0] - x; 20.59 + float dy = balls[i].pos[1] - y; 20.60 + float dz = balls[i].pos[2] - z; 20.61 + float dist_sq = dx * dx + dy * dy + dz * dz; 20.62 if(dist_sq > 1e-6) { 20.63 sum += balls[i].energy / dist_sq; 20.64 } else {
21.1 --- a/src/mballs.h Wed Feb 20 04:55:03 2013 +0200 21.2 +++ b/src/mballs.h Wed Feb 20 05:45:27 2013 +0200 21.3 @@ -1,3 +1,20 @@ 21.4 +/* 21.5 +Printblobs - typography display hack 21.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 21.7 + 21.8 +This program is free software: you can redistribute it and/or modify 21.9 +it under the terms of the GNU General Public License as published by 21.10 +the Free Software Foundation, either version 3 of the License, or 21.11 +(at your option) any later version. 21.12 + 21.13 +This program is distributed in the hope that it will be useful, 21.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 21.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21.16 +GNU General Public License for more details. 21.17 + 21.18 +You should have received a copy of the GNU General Public License 21.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 21.20 +*/ 21.21 #ifndef MBALLS_H_ 21.22 #define MBALLS_H_ 21.23
22.1 --- a/src/opengl.h Wed Feb 20 04:55:03 2013 +0200 22.2 +++ b/src/opengl.h Wed Feb 20 05:45:27 2013 +0200 22.3 @@ -1,3 +1,20 @@ 22.4 +/* 22.5 +Printblobs - typography display hack 22.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 22.7 + 22.8 +This program is free software: you can redistribute it and/or modify 22.9 +it under the terms of the GNU General Public License as published by 22.10 +the Free Software Foundation, either version 3 of the License, or 22.11 +(at your option) any later version. 22.12 + 22.13 +This program is distributed in the hope that it will be useful, 22.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 22.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22.16 +GNU General Public License for more details. 22.17 + 22.18 +You should have received a copy of the GNU General Public License 22.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 22.20 +*/ 22.21 #ifndef OPENGL_H_ 22.22 #define OPENGL_H_ 22.23
23.1 --- a/src/post.cc Wed Feb 20 04:55:03 2013 +0200 23.2 +++ b/src/post.cc Wed Feb 20 05:45:27 2013 +0200 23.3 @@ -1,3 +1,20 @@ 23.4 +/* 23.5 +Printblobs - typography display hack 23.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 23.7 + 23.8 +This program is free software: you can redistribute it and/or modify 23.9 +it under the terms of the GNU General Public License as published by 23.10 +the Free Software Foundation, either version 3 of the License, or 23.11 +(at your option) any later version. 23.12 + 23.13 +This program is distributed in the hope that it will be useful, 23.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 23.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23.16 +GNU General Public License for more details. 23.17 + 23.18 +You should have received a copy of the GNU General Public License 23.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 23.20 +*/ 23.21 #include "opengl.h" 23.22 #include "post.h" 23.23
24.1 --- a/src/post.h Wed Feb 20 04:55:03 2013 +0200 24.2 +++ b/src/post.h Wed Feb 20 05:45:27 2013 +0200 24.3 @@ -1,3 +1,20 @@ 24.4 +/* 24.5 +Printblobs - typography display hack 24.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 24.7 + 24.8 +This program is free software: you can redistribute it and/or modify 24.9 +it under the terms of the GNU General Public License as published by 24.10 +the Free Software Foundation, either version 3 of the License, or 24.11 +(at your option) any later version. 24.12 + 24.13 +This program is distributed in the hope that it will be useful, 24.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 24.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24.16 +GNU General Public License for more details. 24.17 + 24.18 +You should have received a copy of the GNU General Public License 24.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 24.20 +*/ 24.21 #ifndef POST_H_ 24.22 #define POST_H_ 24.23
25.1 --- a/src/scroller.cc Wed Feb 20 04:55:03 2013 +0200 25.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 25.3 @@ -1,63 +0,0 @@ 25.4 -#include <math.h> 25.5 -#include "opengl.h" 25.6 -#include "texture.h" 25.7 - 25.8 -unsigned int hiero_tex; 25.9 - 25.10 -bool init_scroller() 25.11 -{ 25.12 - if(!(hiero_tex = load_texture("data/hieroglyph2.png"))) { 25.13 - return false; 25.14 - } 25.15 - 25.16 - glBindTexture(GL_TEXTURE_2D, hiero_tex); 25.17 - /*glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 25.18 - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);*/ 25.19 - 25.20 - return true; 25.21 -} 25.22 - 25.23 -void destroy_scroller() 25.24 -{ 25.25 - free_texture(hiero_tex); 25.26 - hiero_tex = 0; 25.27 -} 25.28 - 25.29 -void draw_scroller(float sec) 25.30 -{ 25.31 - return; 25.32 - glPushAttrib(GL_ENABLE_BIT); 25.33 - 25.34 - glDisable(GL_DEPTH_TEST); 25.35 - glDisable(GL_LIGHTING); 25.36 - glEnable(GL_TEXTURE_2D); 25.37 - glBindTexture(GL_TEXTURE_2D, hiero_tex); 25.38 - 25.39 - glMatrixMode(GL_MODELVIEW); 25.40 - glPushMatrix(); 25.41 - glLoadIdentity(); 25.42 - glScalef(1.4, 0.4, 1.4); 25.43 - glMatrixMode(GL_PROJECTION); 25.44 - glPushMatrix(); 25.45 - glLoadIdentity(); 25.46 - glMatrixMode(GL_TEXTURE); 25.47 - glPushMatrix(); 25.48 - glLoadIdentity(); 25.49 - 25.50 - glTranslatef(sec * 0.25, 0, 0); 25.51 - 25.52 - glBegin(GL_QUADS); 25.53 - glColor3f(1, 1, 1); 25.54 - glTexCoord2f(0, 1); glVertex2f(-1, -1); 25.55 - glTexCoord2f(1, 1); glVertex2f(1, -1); 25.56 - glTexCoord2f(1, 0); glVertex2f(1, 1); 25.57 - glTexCoord2f(0, 0); glVertex2f(-1, 1); 25.58 - glEnd(); 25.59 - 25.60 - glPopMatrix(); 25.61 - glMatrixMode(GL_PROJECTION); 25.62 - glPopMatrix(); 25.63 - glMatrixMode(GL_MODELVIEW); 25.64 - glPopMatrix(); 25.65 - glPopAttrib(); 25.66 -}
26.1 --- a/src/scroller.h Wed Feb 20 04:55:03 2013 +0200 26.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 26.3 @@ -1,9 +0,0 @@ 26.4 -#ifndef SCROLLER_H_ 26.5 -#define SCROLLER_H_ 26.6 - 26.7 -bool init_scroller(); 26.8 -void destroy_scroller(); 26.9 - 26.10 -void draw_scroller(float sec); 26.11 - 26.12 -#endif // SCROLLER_H_
27.1 --- a/src/sdr.c Wed Feb 20 04:55:03 2013 +0200 27.2 +++ b/src/sdr.c Wed Feb 20 05:45:27 2013 +0200 27.3 @@ -1,3 +1,20 @@ 27.4 +/* 27.5 +Printblobs - typography display hack 27.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 27.7 + 27.8 +This program is free software: you can redistribute it and/or modify 27.9 +it under the terms of the GNU General Public License as published by 27.10 +the Free Software Foundation, either version 3 of the License, or 27.11 +(at your option) any later version. 27.12 + 27.13 +This program is distributed in the hope that it will be useful, 27.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 27.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27.16 +GNU General Public License for more details. 27.17 + 27.18 +You should have received a copy of the GNU General Public License 27.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 27.20 +*/ 27.21 #include <stdio.h> 27.22 #include <stdlib.h> 27.23 #include <string.h>
28.1 --- a/src/sdr.h Wed Feb 20 04:55:03 2013 +0200 28.2 +++ b/src/sdr.h Wed Feb 20 05:45:27 2013 +0200 28.3 @@ -1,3 +1,20 @@ 28.4 +/* 28.5 +Printblobs - typography display hack 28.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 28.7 + 28.8 +This program is free software: you can redistribute it and/or modify 28.9 +it under the terms of the GNU General Public License as published by 28.10 +the Free Software Foundation, either version 3 of the License, or 28.11 +(at your option) any later version. 28.12 + 28.13 +This program is distributed in the hope that it will be useful, 28.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 28.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 28.16 +GNU General Public License for more details. 28.17 + 28.18 +You should have received a copy of the GNU General Public License 28.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 28.20 +*/ 28.21 #ifndef SDR_H_ 28.22 #define SDR_H_ 28.23
29.1 --- a/src/texture.c Wed Feb 20 04:55:03 2013 +0200 29.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 29.3 @@ -1,31 +0,0 @@ 29.4 -#include <stdio.h> 29.5 -#include "opengl.h" 29.6 -#include <imago2.h> 29.7 -#include "texture.h" 29.8 - 29.9 -unsigned int load_texture(const char *fname) 29.10 -{ 29.11 - int xsz, ysz; 29.12 - void *pixels; 29.13 - unsigned int tex; 29.14 - 29.15 - if(!(pixels = img_load_pixels(fname, &xsz, &ysz, IMG_FMT_RGB24))) { 29.16 - fprintf(stderr, "failed to load texture: %s\n", fname); 29.17 - return 0; 29.18 - } 29.19 - 29.20 - glGenTextures(1, &tex); 29.21 - glBindTexture(GL_TEXTURE_2D, tex); 29.22 - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 29.23 - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 29.24 - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, xsz, ysz, 0, GL_RGB, GL_UNSIGNED_BYTE, pixels); 29.25 - 29.26 - img_free_pixels(pixels); 29.27 - 29.28 - return tex; 29.29 -} 29.30 - 29.31 -void free_texture(unsigned int tex) 29.32 -{ 29.33 - glDeleteTextures(1, &tex); 29.34 -}
30.1 --- a/src/texture.h Wed Feb 20 04:55:03 2013 +0200 30.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 30.3 @@ -1,15 +0,0 @@ 30.4 -#ifndef TEXTURE_H_ 30.5 -#define TEXTURE_H_ 30.6 - 30.7 -#ifdef __cplusplus 30.8 -extern "C" { 30.9 -#endif 30.10 - 30.11 -unsigned int load_texture(const char *fname); 30.12 -void free_texture(unsigned int tex); 30.13 - 30.14 -#ifdef __cplusplus 30.15 -} 30.16 -#endif 30.17 - 30.18 -#endif /* TEXTURE_H_ */
31.1 --- a/src/udg.cc Wed Feb 20 04:55:03 2013 +0200 31.2 +++ b/src/udg.cc Wed Feb 20 05:45:27 2013 +0200 31.3 @@ -1,3 +1,20 @@ 31.4 +/* 31.5 +Printblobs - typography display hack 31.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 31.7 + 31.8 +This program is free software: you can redistribute it and/or modify 31.9 +it under the terms of the GNU General Public License as published by 31.10 +the Free Software Foundation, either version 3 of the License, or 31.11 +(at your option) any later version. 31.12 + 31.13 +This program is distributed in the hope that it will be useful, 31.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 31.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31.16 +GNU General Public License for more details. 31.17 + 31.18 +You should have received a copy of the GNU General Public License 31.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 31.20 +*/ 31.21 #include <stdio.h> 31.22 #include <stdlib.h> 31.23 #include <string.h> 31.24 @@ -7,7 +24,6 @@ 31.25 #include "udg.h" 31.26 #include "sdr.h" 31.27 #include "dither_matrix.h" 31.28 -#include "scroller.h" 31.29 #include "mballs.h" 31.30 #include "dsys.h" 31.31 #include "post.h" 31.32 @@ -46,7 +62,7 @@ 31.33 struct render_target *rtarg; 31.34 unsigned int post_prog, phong_prog; 31.35 31.36 -int opt_highres, opt_regular_render; 31.37 +int opt_blocky = true, opt_regular_render; 31.38 bool opt_autorot = true; 31.39 31.40 struct dsys_demo *demo; 31.41 @@ -138,10 +154,6 @@ 31.42 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 31.43 glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, DITHER_SZ, DITHER_SZ * DITHER_LEVELS, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, img); 31.44 31.45 - if(!init_scroller()) { 31.46 - return false; 31.47 - } 31.48 - 31.49 if(!mball_init()) { 31.50 return false; 31.51 } 31.52 @@ -153,8 +165,8 @@ 31.53 glEnable(GL_LIGHT1); 31.54 glEnable(GL_NORMALIZE); 31.55 31.56 - //dsys_start(demo); 31.57 31.58 + reshape(glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT)); 31.59 return true; 31.60 } 31.61 31.62 @@ -185,7 +197,6 @@ 31.63 glPopMatrix(); 31.64 31.65 glPopAttrib(); 31.66 - /*draw_scroller(glutGet(GLUT_ELAPSED_TIME) / 1000.0); */ 31.67 } 31.68 31.69 void disp() 31.70 @@ -202,7 +213,7 @@ 31.71 float auto_angle = sec * 10.0; 31.72 31.73 int xres, yres; 31.74 - if(opt_highres) { 31.75 + if(!opt_blocky) { 31.76 xres = xsz; 31.77 yres = ysz; 31.78 } else { 31.79 @@ -344,13 +355,21 @@ 31.80 opt_regular_render = !opt_regular_render; 31.81 break; 31.82 31.83 - case 'h': 31.84 - opt_highres = !opt_highres; 31.85 + case 'b': 31.86 + opt_blocky = !opt_blocky; 31.87 if(rtarg) { 31.88 destroy_rtarg(rtarg); 31.89 rtarg = 0; 31.90 } 31.91 break; 31.92 + 31.93 + case ' ': 31.94 + if(dsys_is_running(demo)) { 31.95 + dsys_stop(demo); 31.96 + } else { 31.97 + dsys_start(demo); 31.98 + } 31.99 + break; 31.100 } 31.101 } 31.102 31.103 @@ -441,8 +460,10 @@ 31.104 bool parse_args(int argc, char **argv) 31.105 { 31.106 for(int i=1; i<argc; i++) { 31.107 - if(strcmp(argv[i], "-noblock") == 0) { 31.108 - opt_highres = true; 31.109 + if(strcmp(argv[i], "-noblocky") == 0) { 31.110 + opt_blocky = false; 31.111 + } else if(strcmp(argv[i], "-blocky") == 0) { 31.112 + opt_blocky = true; 31.113 } else if(strcmp(argv[i], "-nodither") == 0) { 31.114 opt_regular_render = true; 31.115 } else {
32.1 --- a/src/udg.h Wed Feb 20 04:55:03 2013 +0200 32.2 +++ b/src/udg.h Wed Feb 20 05:45:27 2013 +0200 32.3 @@ -1,3 +1,20 @@ 32.4 +/* 32.5 +Printblobs - typography display hack 32.6 +Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org> 32.7 + 32.8 +This program is free software: you can redistribute it and/or modify 32.9 +it under the terms of the GNU General Public License as published by 32.10 +the Free Software Foundation, either version 3 of the License, or 32.11 +(at your option) any later version. 32.12 + 32.13 +This program is distributed in the hope that it will be useful, 32.14 +but WITHOUT ANY WARRANTY; without even the implied warranty of 32.15 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 32.16 +GNU General Public License for more details. 32.17 + 32.18 +You should have received a copy of the GNU General Public License 32.19 +along with this program. If not, see <http://www.gnu.org/licenses/>. 32.20 +*/ 32.21 #ifndef UDG_H_ 32.22 #define UDG_H_ 32.23