Initial import
661
LICENSE
Normal file
|
|
@ -0,0 +1,661 @@
|
|||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your version
|
||||
supports such interaction) an opportunity to receive the Corresponding
|
||||
Source of your version by providing access to the Corresponding Source
|
||||
from a network server at no charge, through some standard or customary
|
||||
means of facilitating copying of software. This Corresponding Source
|
||||
shall include the Corresponding Source for any work covered by version 3
|
||||
of the GNU General Public License that is incorporated pursuant to the
|
||||
following paragraph.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU Affero General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU Affero General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU Affero General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for the
|
||||
specific requirements.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
3163
changes.txt
Normal file
661
distribution/agpl-3.0.txt
Normal file
|
|
@ -0,0 +1,661 @@
|
|||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your version
|
||||
supports such interaction) an opportunity to receive the Corresponding
|
||||
Source of your version by providing access to the Corresponding Source
|
||||
from a network server at no charge, through some standard or customary
|
||||
means of facilitating copying of software. This Corresponding Source
|
||||
shall include the Corresponding Source for any work covered by version 3
|
||||
of the GNU General Public License that is incorporated pursuant to the
|
||||
following paragraph.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU Affero General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU Affero General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU Affero General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for the
|
||||
specific requirements.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
BIN
distribution/include/Mount1.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
distribution/include/Mount2.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
215
distribution/include/arrays.inc
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: arrays.inc
|
||||
// Last updated: May 7 2002
|
||||
// Description: Array manipulation macros...sorting, resizing, etc.
|
||||
|
||||
#ifndef(ARRAYS_INC_TEMP)
|
||||
#declare ARRAYS_INC_TEMP = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including arrays.inc\n"
|
||||
#end
|
||||
|
||||
// Input: a one dimensional array and a random stream
|
||||
// Output: a random item from the input array
|
||||
// Source: variate.inc by Ingo Janssen
|
||||
#macro Rand_Array_Item(Array, Stream)
|
||||
#if(dimensions(Array)=1)
|
||||
Array[floor(rand(Stream)*0.9999999*dimension_size(Array,1))]
|
||||
#else
|
||||
#error "The Rand_Array_Item() macro only works for 1D arrays."
|
||||
#end
|
||||
#end
|
||||
|
||||
|
||||
#macro Resize_Array(Array, NewSize)
|
||||
#if(dimensions(Array)=1)
|
||||
#local NewArray = array[NewSize]
|
||||
#local C = 0;
|
||||
#local Max = min(NewSize, dimension_size(Array, 1));
|
||||
#while (C < Max)
|
||||
#ifdef (Array[C])
|
||||
#local NewArray[C] = Array[C];
|
||||
#end
|
||||
#local C = C + 1;
|
||||
#end
|
||||
#declare Array = NewArray
|
||||
#else
|
||||
#error "The Resize_Array() macro only works for 1D arrays."
|
||||
#end
|
||||
#end
|
||||
|
||||
|
||||
#macro Reverse_Array(Array)
|
||||
#if(dimensions(Array)=1)
|
||||
#local J = 0;
|
||||
#local N = dimension_size(Array, 1) - 1;
|
||||
#while(J < N/2)
|
||||
#local Temp = Array[J];
|
||||
#local Array[J] = Array[N-J];
|
||||
#local Array[N-J] = Temp;
|
||||
#local J = J + 1;
|
||||
#end
|
||||
#else
|
||||
#error "The Reverse_Array() macro only works for 1D arrays."
|
||||
#end
|
||||
#end
|
||||
|
||||
|
||||
// #macro Insert_In_Array(Item, DestArray, Index)
|
||||
// #macro Insert_Array_In_Array(ItemArray, DestArray, Index)
|
||||
|
||||
// #macro Append_To_Array(Item, DestArray, Index)
|
||||
// #macro Append_Array_To_Array(ItemArray, DestArray, Index)
|
||||
|
||||
// This macro will compare float values and vector lengths.
|
||||
// It is intended to be redefined by the user to suit their
|
||||
// needs, but it should always return true if A is "less than"
|
||||
// B, otherwise false.
|
||||
// #macro SortCompare(A, B) (vlength(A) < vlength(B)) #end
|
||||
// #macro SortCompare(Array, IdxA, IdxB) (vlength(Array[IdxA]) < vlength(Array[IdxB])) #end
|
||||
#macro Sort_Compare(Array, IdxA, IdxB) (Array[IdxA] < Array[IdxB]) #end
|
||||
|
||||
// This macro swaps the data in two locations. The user can
|
||||
// redefine it, for example to swap additional data along a
|
||||
// second dimension, keeping columns of data together.
|
||||
#macro Sort_Swap_Data(Array, IdxA, IdxB)
|
||||
#local Tmp = Array[IdxA];
|
||||
#declare Array[IdxA] = Array[IdxB];
|
||||
#declare Array[IdxB] = Tmp;
|
||||
#end
|
||||
|
||||
|
||||
// Sort macros slightly modified from QuickSort macros by Juha Nieminen
|
||||
#macro Sort_Array(Array)
|
||||
Sort_Partial_Array(Array, 0, dimension_size(Array, 1)-1)
|
||||
#end
|
||||
|
||||
#macro Sort_Partial_Array(Array, FirstInd, LastInd)
|
||||
ARRAYS_HybridQuickSortStep(Array, FirstInd, LastInd)
|
||||
ARRAYS_InsertionSort(Array, FirstInd, LastInd)
|
||||
#end
|
||||
|
||||
#declare ARRAYS_QuickSortSeed = seed(0);
|
||||
|
||||
#macro ARRAYS_HybridQuickSortStep(Array, FirstInd, LastInd)
|
||||
#local FInd = FirstInd;
|
||||
#while(FInd < LastInd-10)
|
||||
#local RInd = FInd + rand(ARRAYS_QuickSortSeed)*(LastInd - FInd);
|
||||
Sort_Swap_Data(Array, FInd, RInd)
|
||||
#local I = FInd-1;
|
||||
#local J = LastInd+1;
|
||||
#local Mid = -1;
|
||||
#while(Mid < 0)
|
||||
#local J = J-1;
|
||||
#while(Sort_Compare(Array, FInd, J)) #local J = J-1; #end
|
||||
#local I = I+1;
|
||||
#while(Sort_Compare(Array, I, FInd)) #local I = I+1; #end
|
||||
|
||||
#if(I < J)
|
||||
Sort_Swap_Data(Array, I, J)
|
||||
#else
|
||||
#local Mid = J;
|
||||
#end
|
||||
#end
|
||||
ARRAYS_HybridQuickSortStep(Array, FInd, Mid)
|
||||
#local FInd = Mid+1;
|
||||
#end
|
||||
#end
|
||||
|
||||
#macro ARRAYS_InsertionSort(Array, FirstInd, LastInd)
|
||||
#local Ind1 = FirstInd+1;
|
||||
#while(Ind1 <= LastInd)
|
||||
#local Ind2 = Ind1;
|
||||
#while(Ind2 > FirstInd)
|
||||
#local NextInd2 = Ind2-1;
|
||||
#if(Sort_Compare(Array, Ind2, NextInd2))
|
||||
Sort_Swap_Data(Array, Ind2, NextInd2)
|
||||
#local Ind2 = NextInd2;
|
||||
#else
|
||||
#local Ind2 = 0;
|
||||
#end
|
||||
#end
|
||||
#local Ind1 = Ind1+1;
|
||||
#end
|
||||
#end
|
||||
|
||||
#macro ARRAYS_WriteDF3(Array, FileName, BitDepth)
|
||||
|
||||
#switch (BitDepth)
|
||||
#case (8)
|
||||
#macro ARRAYS_Temp_WriteDF3(ArrayItem)
|
||||
#ifdef (ArrayItem)
|
||||
#write(ARRAYS_Temp_File, uint8 ArrayItem * 255)
|
||||
#else
|
||||
#write(ARRAYS_Temp_File, uint8 0)
|
||||
#end
|
||||
#end
|
||||
#break
|
||||
#case (16)
|
||||
#macro ARRAYS_Temp_WriteDF3(ArrayItem)
|
||||
#ifdef (ArrayItem)
|
||||
#write(ARRAYS_Temp_File, uint16be ArrayItem * 65535)
|
||||
#else
|
||||
#write(ARRAYS_Temp_File, uint16be 0)
|
||||
#end
|
||||
#end
|
||||
#break
|
||||
#else
|
||||
#error "ARRAYS_WriteDF3: bit depth not supported\n"
|
||||
#end
|
||||
|
||||
#switch (dimensions(Array))
|
||||
#case (1)
|
||||
#local SizeX = dimension_size(Array,1);
|
||||
#local SizeY = 1;
|
||||
#local SizeZ = 1;
|
||||
#macro ARRAYS_Temp(Arr,IX,IY,IZ) Arr[IX] #end
|
||||
#break
|
||||
#case (2)
|
||||
#local SizeX = dimension_size(Array,1);
|
||||
#local SizeY = dimension_size(Array,2);
|
||||
#local SizeZ = 1;
|
||||
#macro ARRAYS_Temp(Arr,IX,IY,IZ) Arr[IX][IY] #end
|
||||
#break
|
||||
#case (3)
|
||||
#local SizeX = dimension_size(Array,1);
|
||||
#local SizeY = dimension_size(Array,2);
|
||||
#local SizeZ = dimension_size(Array,3);
|
||||
#macro ARRAYS_Temp(Arr,IX,IY,IZ) Arr[IX][IY][IZ] #end
|
||||
#break
|
||||
#else
|
||||
#error "ARRAYS_WriteDF3: number of dimensions not supported\n"
|
||||
#end
|
||||
|
||||
#if ((SizeX > 65535) | (SizeY > 65535) | (SizeZ > 65535))
|
||||
#error "ARRAYS_WriteDF3: dimension size not supported\n"
|
||||
#end
|
||||
#fopen ARRAYS_Temp_File FileName write
|
||||
#write (ARRAYS_Temp_File, uint16be <SizeX,SizeY,SizeZ>)
|
||||
#local IndZ = 0;
|
||||
#while (IndZ < SizeZ)
|
||||
#local IndY = 0;
|
||||
#while (IndY < SizeY)
|
||||
#local IndX = 0;
|
||||
#while (IndX < SizeX)
|
||||
ARRAYS_Temp_WriteDF3(ARRAYS_Temp(Array,IndX,IndY,IndZ))
|
||||
#local IndX = IndX + 1;
|
||||
#end
|
||||
#local IndY = IndY + 1;
|
||||
#end
|
||||
#local IndZ = IndZ + 1;
|
||||
#end
|
||||
#undef ARRAYS_Temp
|
||||
#undef ARRAYS_Temp_WriteDF3
|
||||
#fclose ARRAYS_Temp_File
|
||||
#end
|
||||
|
||||
#version ARRAYS_INC_TEMP;
|
||||
#end
|
||||
|
||||
267
distribution/include/ash.map
Normal file
|
|
@ -0,0 +1,267 @@
|
|||
#declare Ash_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Ash wood color_map
|
||||
*/
|
||||
|
||||
#declare M_Ash =
|
||||
color_map {
|
||||
[0.000000 rgb <0.298039, 0.188235, 0.125490>]
|
||||
[0.003922 rgb <0.313726, 0.203922, 0.141176>]
|
||||
[0.007843 rgb <0.313726, 0.203922, 0.172549>]
|
||||
[0.011765 rgb <0.329412, 0.188235, 0.109804>]
|
||||
[0.015686 rgb <0.329412, 0.219608, 0.125490>]
|
||||
[0.019608 rgb <0.329412, 0.219608, 0.156863>]
|
||||
[0.023529 rgb <0.329412, 0.235294, 0.172549>]
|
||||
[0.027451 rgb <0.329412, 0.250980, 0.125490>]
|
||||
[0.031373 rgb <0.345098, 0.203922, 0.141176>]
|
||||
[0.035294 rgb <0.345098, 0.219608, 0.109804>]
|
||||
[0.039216 rgb <0.345098, 0.219608, 0.188235>]
|
||||
[0.043137 rgb <0.345098, 0.235294, 0.141176>]
|
||||
[0.047059 rgb <0.360784, 0.203922, 0.109804>]
|
||||
[0.050980 rgb <0.360784, 0.219608, 0.156863>]
|
||||
[0.054902 rgb <0.360784, 0.235294, 0.109804>]
|
||||
[0.058824 rgb <0.360784, 0.235294, 0.203922>]
|
||||
[0.062745 rgb <0.360784, 0.250980, 0.156863>]
|
||||
[0.066667 rgb <0.376471, 0.219608, 0.094118>]
|
||||
[0.070588 rgb <0.376471, 0.219608, 0.125490>]
|
||||
[0.074510 rgb <0.376471, 0.235294, 0.141176>]
|
||||
[0.078431 rgb <0.376471, 0.235294, 0.172549>]
|
||||
[0.082353 rgb <0.376471, 0.250980, 0.125490>]
|
||||
[0.086275 rgb <0.376471, 0.266667, 0.172549>]
|
||||
[0.090196 rgb <0.376471, 0.266667, 0.203922>]
|
||||
[0.094118 rgb <0.392157, 0.203922, 0.109804>]
|
||||
[0.098039 rgb <0.392157, 0.219608, 0.156863>]
|
||||
[0.101961 rgb <0.392157, 0.235294, 0.109804>]
|
||||
[0.105882 rgb <0.392157, 0.250980, 0.156863>]
|
||||
[0.109804 rgb <0.392157, 0.250980, 0.188235>]
|
||||
[0.113725 rgb <0.392157, 0.250980, 0.219608>]
|
||||
[0.117647 rgb <0.392157, 0.266667, 0.141176>]
|
||||
[0.121569 rgb <0.392157, 0.282353, 0.172549>]
|
||||
[0.125490 rgb <0.392157, 0.282353, 0.219608>]
|
||||
[0.129412 rgb <0.392157, 0.298039, 0.188235>]
|
||||
[0.133333 rgb <0.407843, 0.219608, 0.094118>]
|
||||
[0.137255 rgb <0.407843, 0.219608, 0.125490>]
|
||||
[0.141176 rgb <0.407843, 0.235294, 0.172549>]
|
||||
[0.145098 rgb <0.407843, 0.250980, 0.125490>]
|
||||
[0.149020 rgb <0.407843, 0.266667, 0.172549>]
|
||||
[0.152941 rgb <0.407843, 0.266667, 0.203922>]
|
||||
[0.156863 rgb <0.407843, 0.298039, 0.235294>]
|
||||
[0.160784 rgb <0.407843, 0.313726, 0.266667>]
|
||||
[0.164706 rgb <0.423529, 0.235294, 0.109804>]
|
||||
[0.168627 rgb <0.423529, 0.235294, 0.141176>]
|
||||
[0.172549 rgb <0.423529, 0.250980, 0.188235>]
|
||||
[0.176471 rgb <0.423529, 0.266667, 0.109804>]
|
||||
[0.180392 rgb <0.423529, 0.266667, 0.141176>]
|
||||
[0.184314 rgb <0.423529, 0.282353, 0.188235>]
|
||||
[0.188235 rgb <0.423529, 0.282353, 0.219608>]
|
||||
[0.192157 rgb <0.423529, 0.298039, 0.250980>]
|
||||
[0.196078 rgb <0.423529, 0.313726, 0.219608>]
|
||||
[0.200000 rgb <0.423529, 0.313726, 0.282353>]
|
||||
[0.203922 rgb <0.423529, 0.345098, 0.266667>]
|
||||
[0.207843 rgb <0.439216, 0.219608, 0.125490>]
|
||||
[0.211765 rgb <0.439216, 0.250980, 0.094118>]
|
||||
[0.215686 rgb <0.439216, 0.250980, 0.125490>]
|
||||
[0.219608 rgb <0.439216, 0.250980, 0.156863>]
|
||||
[0.223529 rgb <0.439216, 0.266667, 0.203922>]
|
||||
[0.227451 rgb <0.439216, 0.282353, 0.156863>]
|
||||
[0.231373 rgb <0.439216, 0.298039, 0.125490>]
|
||||
[0.235294 rgb <0.439216, 0.298039, 0.203922>]
|
||||
[0.239216 rgb <0.439216, 0.298039, 0.235294>]
|
||||
[0.243137 rgb <0.439216, 0.313726, 0.188235>]
|
||||
[0.247059 rgb <0.439216, 0.313726, 0.266667>]
|
||||
[0.250980 rgb <0.439216, 0.329412, 0.298039>]
|
||||
[0.254902 rgb <0.454902, 0.235294, 0.141176>]
|
||||
[0.258824 rgb <0.454902, 0.266667, 0.109804>]
|
||||
[0.262745 rgb <0.454902, 0.266667, 0.141176>]
|
||||
[0.266667 rgb <0.454902, 0.266667, 0.172549>]
|
||||
[0.270588 rgb <0.454902, 0.282353, 0.219608>]
|
||||
[0.274510 rgb <0.454902, 0.298039, 0.141176>]
|
||||
[0.278431 rgb <0.454902, 0.298039, 0.172549>]
|
||||
[0.282353 rgb <0.454902, 0.298039, 0.250980>]
|
||||
[0.286275 rgb <0.454902, 0.313726, 0.219608>]
|
||||
[0.290196 rgb <0.454902, 0.313726, 0.282353>]
|
||||
[0.294118 rgb <0.454902, 0.329412, 0.250980>]
|
||||
[0.298039 rgb <0.454902, 0.329412, 0.313726>]
|
||||
[0.301961 rgb <0.454902, 0.345098, 0.282353>]
|
||||
[0.305882 rgb <0.454902, 0.360784, 0.329412>]
|
||||
[0.309804 rgb <0.470588, 0.235294, 0.109804>]
|
||||
[0.313726 rgb <0.470588, 0.250980, 0.125490>]
|
||||
[0.317647 rgb <0.470588, 0.282353, 0.125490>]
|
||||
[0.321569 rgb <0.470588, 0.282353, 0.156863>]
|
||||
[0.325490 rgb <0.470588, 0.282353, 0.188235>]
|
||||
[0.329412 rgb <0.470588, 0.298039, 0.235294>]
|
||||
[0.333333 rgb <0.470588, 0.313726, 0.188235>]
|
||||
[0.337255 rgb <0.470588, 0.313726, 0.266667>]
|
||||
[0.341176 rgb <0.470588, 0.329412, 0.298039>]
|
||||
[0.345098 rgb <0.470588, 0.345098, 0.219608>]
|
||||
[0.349020 rgb <0.470588, 0.345098, 0.250980>]
|
||||
[0.352941 rgb <0.470588, 0.345098, 0.313726>]
|
||||
[0.356863 rgb <0.470588, 0.360784, 0.266667>]
|
||||
[0.360784 rgb <0.470588, 0.360784, 0.298039>]
|
||||
[0.364706 rgb <0.486275, 0.250980, 0.156863>]
|
||||
[0.368627 rgb <0.486275, 0.266667, 0.109804>]
|
||||
[0.372549 rgb <0.486275, 0.266667, 0.172549>]
|
||||
[0.376471 rgb <0.486275, 0.298039, 0.141176>]
|
||||
[0.380392 rgb <0.486275, 0.298039, 0.172549>]
|
||||
[0.384314 rgb <0.486275, 0.298039, 0.203922>]
|
||||
[0.388235 rgb <0.486275, 0.329412, 0.172549>]
|
||||
[0.392157 rgb <0.486275, 0.329412, 0.203922>]
|
||||
[0.396078 rgb <0.486275, 0.329412, 0.235294>]
|
||||
[0.400000 rgb <0.486275, 0.329412, 0.266667>]
|
||||
[0.403922 rgb <0.486275, 0.345098, 0.282353>]
|
||||
[0.407843 rgb <0.486275, 0.360784, 0.235294>]
|
||||
[0.411765 rgb <0.486275, 0.376471, 0.282353>]
|
||||
[0.415686 rgb <0.486275, 0.376471, 0.313726>]
|
||||
[0.419608 rgb <0.501961, 0.250980, 0.094118>]
|
||||
[0.423529 rgb <0.501961, 0.266667, 0.141176>]
|
||||
[0.427451 rgb <0.501961, 0.282353, 0.125490>]
|
||||
[0.431373 rgb <0.501961, 0.282353, 0.172549>]
|
||||
[0.435294 rgb <0.501961, 0.313726, 0.156863>]
|
||||
[0.439216 rgb <0.501961, 0.313726, 0.188235>]
|
||||
[0.443137 rgb <0.501961, 0.313726, 0.219608>]
|
||||
[0.447059 rgb <0.501961, 0.313726, 0.250980>]
|
||||
[0.450980 rgb <0.501961, 0.345098, 0.219608>]
|
||||
[0.454902 rgb <0.501961, 0.345098, 0.250980>]
|
||||
[0.458824 rgb <0.501961, 0.360784, 0.266667>]
|
||||
[0.462745 rgb <0.501961, 0.360784, 0.298039>]
|
||||
[0.466667 rgb <0.501961, 0.376471, 0.250980>]
|
||||
[0.470588 rgb <0.501961, 0.392157, 0.329412>]
|
||||
[0.474510 rgb <0.517647, 0.282353, 0.156863>]
|
||||
[0.478431 rgb <0.517647, 0.298039, 0.141176>]
|
||||
[0.482353 rgb <0.517647, 0.298039, 0.203922>]
|
||||
[0.486275 rgb <0.517647, 0.329412, 0.172549>]
|
||||
[0.490196 rgb <0.517647, 0.329412, 0.203922>]
|
||||
[0.494118 rgb <0.517647, 0.329412, 0.235294>]
|
||||
[0.498039 rgb <0.517647, 0.345098, 0.282353>]
|
||||
[0.501961 rgb <0.517647, 0.360784, 0.203922>]
|
||||
[0.505882 rgb <0.517647, 0.360784, 0.235294>]
|
||||
[0.509804 rgb <0.517647, 0.376471, 0.282353>]
|
||||
[0.513726 rgb <0.517647, 0.376471, 0.313726>]
|
||||
[0.517647 rgb <0.517647, 0.407843, 0.313726>]
|
||||
[0.521569 rgb <0.517647, 0.407843, 0.345098>]
|
||||
[0.525490 rgb <0.533333, 0.282353, 0.125490>]
|
||||
[0.529412 rgb <0.533333, 0.298039, 0.172549>]
|
||||
[0.533333 rgb <0.533333, 0.313726, 0.141176>]
|
||||
[0.537255 rgb <0.533333, 0.313726, 0.219608>]
|
||||
[0.541176 rgb <0.533333, 0.345098, 0.156863>]
|
||||
[0.545098 rgb <0.533333, 0.345098, 0.188235>]
|
||||
[0.549020 rgb <0.533333, 0.345098, 0.219608>]
|
||||
[0.552941 rgb <0.533333, 0.345098, 0.250980>]
|
||||
[0.556863 rgb <0.533333, 0.360784, 0.298039>]
|
||||
[0.560784 rgb <0.533333, 0.376471, 0.250980>]
|
||||
[0.564706 rgb <0.533333, 0.392157, 0.298039>]
|
||||
[0.568627 rgb <0.533333, 0.392157, 0.329412>]
|
||||
[0.572549 rgb <0.549020, 0.313726, 0.188235>]
|
||||
[0.576471 rgb <0.549020, 0.329412, 0.235294>]
|
||||
[0.580392 rgb <0.549020, 0.360784, 0.172549>]
|
||||
[0.584314 rgb <0.549020, 0.360784, 0.203922>]
|
||||
[0.588235 rgb <0.549020, 0.360784, 0.235294>]
|
||||
[0.592157 rgb <0.549020, 0.360784, 0.266667>]
|
||||
[0.596078 rgb <0.549020, 0.376471, 0.313726>]
|
||||
[0.600000 rgb <0.549020, 0.392157, 0.235294>]
|
||||
[0.603922 rgb <0.549020, 0.392157, 0.266667>]
|
||||
[0.607843 rgb <0.549020, 0.407843, 0.313726>]
|
||||
[0.611765 rgb <0.549020, 0.407843, 0.345098>]
|
||||
[0.615686 rgb <0.564706, 0.282353, 0.125490>]
|
||||
[0.619608 rgb <0.564706, 0.313726, 0.125490>]
|
||||
[0.623529 rgb <0.564706, 0.313726, 0.156863>]
|
||||
[0.627451 rgb <0.564706, 0.329412, 0.203922>]
|
||||
[0.631373 rgb <0.564706, 0.345098, 0.141176>]
|
||||
[0.635294 rgb <0.564706, 0.345098, 0.250980>]
|
||||
[0.639216 rgb <0.564706, 0.376471, 0.219608>]
|
||||
[0.643137 rgb <0.564706, 0.376471, 0.250980>]
|
||||
[0.647059 rgb <0.564706, 0.376471, 0.282353>]
|
||||
[0.650980 rgb <0.564706, 0.392157, 0.329412>]
|
||||
[0.654902 rgb <0.564706, 0.407843, 0.250980>]
|
||||
[0.658824 rgb <0.564706, 0.407843, 0.282353>]
|
||||
[0.662745 rgb <0.564706, 0.423529, 0.329412>]
|
||||
[0.666667 rgb <0.564706, 0.423529, 0.360784>]
|
||||
[0.670588 rgb <0.580392, 0.329412, 0.172549>]
|
||||
[0.674510 rgb <0.580392, 0.345098, 0.219608>]
|
||||
[0.678431 rgb <0.580392, 0.360784, 0.172549>]
|
||||
[0.682353 rgb <0.580392, 0.360784, 0.266667>]
|
||||
[0.686275 rgb <0.580392, 0.392157, 0.235294>]
|
||||
[0.690196 rgb <0.580392, 0.392157, 0.266667>]
|
||||
[0.694118 rgb <0.580392, 0.392157, 0.298039>]
|
||||
[0.698039 rgb <0.580392, 0.407843, 0.345098>]
|
||||
[0.701961 rgb <0.580392, 0.423529, 0.266667>]
|
||||
[0.705882 rgb <0.580392, 0.423529, 0.298039>]
|
||||
[0.709804 rgb <0.580392, 0.439216, 0.345098>]
|
||||
[0.713726 rgb <0.580392, 0.454902, 0.392157>]
|
||||
[0.717647 rgb <0.596078, 0.345098, 0.156863>]
|
||||
[0.721569 rgb <0.596078, 0.345098, 0.188235>]
|
||||
[0.725490 rgb <0.596078, 0.360784, 0.235294>]
|
||||
[0.729412 rgb <0.596078, 0.376471, 0.188235>]
|
||||
[0.733333 rgb <0.596078, 0.407843, 0.250980>]
|
||||
[0.737255 rgb <0.596078, 0.407843, 0.282353>]
|
||||
[0.741176 rgb <0.596078, 0.407843, 0.313726>]
|
||||
[0.745098 rgb <0.596078, 0.423529, 0.360784>]
|
||||
[0.749020 rgb <0.596078, 0.439216, 0.313726>]
|
||||
[0.752941 rgb <0.596078, 0.454902, 0.360784>]
|
||||
[0.756863 rgb <0.611765, 0.360784, 0.172549>]
|
||||
[0.760784 rgb <0.611765, 0.360784, 0.203922>]
|
||||
[0.764706 rgb <0.611765, 0.376471, 0.250980>]
|
||||
[0.768627 rgb <0.611765, 0.392157, 0.203922>]
|
||||
[0.772549 rgb <0.611765, 0.423529, 0.266667>]
|
||||
[0.776471 rgb <0.611765, 0.423529, 0.298039>]
|
||||
[0.780392 rgb <0.611765, 0.423529, 0.329412>]
|
||||
[0.784314 rgb <0.611765, 0.439216, 0.376471>]
|
||||
[0.788235 rgb <0.611765, 0.454902, 0.298039>]
|
||||
[0.792157 rgb <0.611765, 0.454902, 0.329412>]
|
||||
[0.796078 rgb <0.611765, 0.470588, 0.376471>]
|
||||
[0.800000 rgb <0.627451, 0.376471, 0.188235>]
|
||||
[0.803922 rgb <0.627451, 0.376471, 0.219608>]
|
||||
[0.807843 rgb <0.627451, 0.392157, 0.266667>]
|
||||
[0.811765 rgb <0.627451, 0.407843, 0.219608>]
|
||||
[0.815686 rgb <0.627451, 0.439216, 0.235294>]
|
||||
[0.819608 rgb <0.627451, 0.439216, 0.282353>]
|
||||
[0.823529 rgb <0.627451, 0.439216, 0.313726>]
|
||||
[0.827451 rgb <0.627451, 0.439216, 0.345098>]
|
||||
[0.831373 rgb <0.627451, 0.470588, 0.345098>]
|
||||
[0.835294 rgb <0.627451, 0.486275, 0.392157>]
|
||||
[0.839216 rgb <0.643137, 0.392157, 0.203922>]
|
||||
[0.843137 rgb <0.643137, 0.392157, 0.235294>]
|
||||
[0.847059 rgb <0.643137, 0.407843, 0.282353>]
|
||||
[0.850980 rgb <0.643137, 0.423529, 0.250980>]
|
||||
[0.854902 rgb <0.643137, 0.423529, 0.329412>]
|
||||
[0.858824 rgb <0.643137, 0.454902, 0.298039>]
|
||||
[0.862745 rgb <0.643137, 0.454902, 0.329412>]
|
||||
[0.866667 rgb <0.643137, 0.454902, 0.360784>]
|
||||
[0.870588 rgb <0.643137, 0.486275, 0.360784>]
|
||||
[0.874510 rgb <0.658824, 0.407843, 0.219608>]
|
||||
[0.878431 rgb <0.658824, 0.423529, 0.298039>]
|
||||
[0.882353 rgb <0.658824, 0.439216, 0.266667>]
|
||||
[0.886275 rgb <0.658824, 0.470588, 0.282353>]
|
||||
[0.890196 rgb <0.658824, 0.470588, 0.313726>]
|
||||
[0.894118 rgb <0.658824, 0.470588, 0.345098>]
|
||||
[0.898039 rgb <0.658824, 0.470588, 0.376471>]
|
||||
[0.901961 rgb <0.658824, 0.501961, 0.376471>]
|
||||
[0.905882 rgb <0.674510, 0.423529, 0.235294>]
|
||||
[0.909804 rgb <0.674510, 0.454902, 0.250980>]
|
||||
[0.913725 rgb <0.674510, 0.454902, 0.298039>]
|
||||
[0.917647 rgb <0.674510, 0.454902, 0.329412>]
|
||||
[0.921569 rgb <0.674510, 0.486275, 0.298039>]
|
||||
[0.925490 rgb <0.674510, 0.486275, 0.329412>]
|
||||
[0.929412 rgb <0.674510, 0.486275, 0.360784>]
|
||||
[0.933333 rgb <0.674510, 0.486275, 0.392157>]
|
||||
[0.937255 rgb <0.674510, 0.517647, 0.392157>]
|
||||
[0.941176 rgb <0.690196, 0.439216, 0.266667>]
|
||||
[0.945098 rgb <0.690196, 0.470588, 0.266667>]
|
||||
[0.949020 rgb <0.690196, 0.470588, 0.313726>]
|
||||
[0.952941 rgb <0.690196, 0.470588, 0.345098>]
|
||||
[0.956863 rgb <0.690196, 0.501961, 0.345098>]
|
||||
[0.960784 rgb <0.690196, 0.501961, 0.376471>]
|
||||
[0.964706 rgb <0.690196, 0.533333, 0.407843>]
|
||||
[0.968627 rgb <0.705882, 0.454902, 0.250980>]
|
||||
[0.972549 rgb <0.705882, 0.454902, 0.282353>]
|
||||
[0.976471 rgb <0.705882, 0.486275, 0.329412>]
|
||||
[0.980392 rgb <0.705882, 0.517647, 0.360784>]
|
||||
[0.984314 rgb <0.705882, 0.517647, 0.392157>]
|
||||
[0.988235 rgb <0.721569, 0.486275, 0.282353>]
|
||||
[0.992157 rgb <0.721569, 0.549020, 0.407843>]
|
||||
[0.996078 rgb <0.737255, 0.501961, 0.313726>]
|
||||
}
|
||||
|
||||
#version Ash_Inc_Temp;
|
||||
266
distribution/include/benediti.map
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
#declare Benediti_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Benediti marble color_map
|
||||
*/
|
||||
|
||||
#declare M_Benediti =
|
||||
color_map {
|
||||
[0.000000 rgb <0.878431, 0.847059, 0.690196>]
|
||||
[0.003922 rgb <0.878431, 0.815686, 0.737255>]
|
||||
[0.007843 rgb <0.878431, 0.815686, 0.627451>]
|
||||
[0.011765 rgb <0.862745, 0.768627, 0.674510>]
|
||||
[0.015686 rgb <0.815686, 0.768627, 0.705882>]
|
||||
[0.019608 rgb <0.815686, 0.768627, 0.658824>]
|
||||
[0.023529 rgb <0.815686, 0.752941, 0.627451>]
|
||||
[0.027451 rgb <0.800000, 0.752941, 0.533333>]
|
||||
[0.031373 rgb <0.800000, 0.737255, 0.580392>]
|
||||
[0.035294 rgb <0.784314, 0.784314, 0.580392>]
|
||||
[0.039216 rgb <0.784314, 0.737255, 0.611765>]
|
||||
[0.043137 rgb <0.784314, 0.721569, 0.643137>]
|
||||
[0.047059 rgb <0.784314, 0.705882, 0.517647>]
|
||||
[0.050980 rgb <0.768627, 0.737255, 0.674510>]
|
||||
[0.054902 rgb <0.768627, 0.705882, 0.596078>]
|
||||
[0.058824 rgb <0.752941, 0.721569, 0.627451>]
|
||||
[0.062745 rgb <0.752941, 0.705882, 0.658824>]
|
||||
[0.066667 rgb <0.752941, 0.690196, 0.549020>]
|
||||
[0.070588 rgb <0.737255, 0.690196, 0.454902>]
|
||||
[0.074510 rgb <0.737255, 0.658824, 0.580392>]
|
||||
[0.078431 rgb <0.721569, 0.690196, 0.611765>]
|
||||
[0.082353 rgb <0.721569, 0.658824, 0.611765>]
|
||||
[0.086275 rgb <0.721569, 0.658824, 0.533333>]
|
||||
[0.090196 rgb <0.721569, 0.658824, 0.501961>]
|
||||
[0.094118 rgb <0.721569, 0.643137, 0.705882>]
|
||||
[0.098039 rgb <0.721569, 0.627451, 0.329412>]
|
||||
[0.101961 rgb <0.705882, 0.674510, 0.643137>]
|
||||
[0.105882 rgb <0.705882, 0.643137, 0.470588>]
|
||||
[0.109804 rgb <0.705882, 0.627451, 0.533333>]
|
||||
[0.113725 rgb <0.705882, 0.580392, 0.313726>]
|
||||
[0.117647 rgb <0.690196, 0.658824, 0.580392>]
|
||||
[0.121569 rgb <0.690196, 0.658824, 0.470588>]
|
||||
[0.125490 rgb <0.690196, 0.643137, 0.423529>]
|
||||
[0.129412 rgb <0.690196, 0.627451, 0.580392>]
|
||||
[0.133333 rgb <0.690196, 0.611765, 0.501961>]
|
||||
[0.137255 rgb <0.674510, 0.643137, 0.611765>]
|
||||
[0.141176 rgb <0.674510, 0.643137, 0.517647>]
|
||||
[0.145098 rgb <0.674510, 0.627451, 0.564706>]
|
||||
[0.149020 rgb <0.674510, 0.611765, 0.627451>]
|
||||
[0.152941 rgb <0.674510, 0.611765, 0.454902>]
|
||||
[0.156863 rgb <0.658824, 0.658824, 0.690196>]
|
||||
[0.160784 rgb <0.658824, 0.627451, 0.454902>]
|
||||
[0.164706 rgb <0.658824, 0.596078, 0.533333>]
|
||||
[0.168627 rgb <0.658824, 0.596078, 0.423529>]
|
||||
[0.172549 rgb <0.658824, 0.580392, 0.470588>]
|
||||
[0.176471 rgb <0.658824, 0.533333, 0.298039>]
|
||||
[0.180392 rgb <0.643137, 0.658824, 0.564706>]
|
||||
[0.184314 rgb <0.643137, 0.611765, 0.580392>]
|
||||
[0.188235 rgb <0.643137, 0.611765, 0.501961>]
|
||||
[0.192157 rgb <0.643137, 0.580392, 0.627451>]
|
||||
[0.196078 rgb <0.643137, 0.564706, 0.423529>]
|
||||
[0.200000 rgb <0.627451, 0.596078, 0.454902>]
|
||||
[0.203922 rgb <0.627451, 0.580392, 0.549020>]
|
||||
[0.207843 rgb <0.627451, 0.564706, 0.658824>]
|
||||
[0.211765 rgb <0.627451, 0.564706, 0.501961>]
|
||||
[0.215686 rgb <0.627451, 0.564706, 0.454902>]
|
||||
[0.219608 rgb <0.627451, 0.549020, 0.392157>]
|
||||
[0.223529 rgb <0.611765, 0.596078, 0.533333>]
|
||||
[0.227451 rgb <0.611765, 0.596078, 0.407843>]
|
||||
[0.231373 rgb <0.611765, 0.564706, 0.596078>]
|
||||
[0.235294 rgb <0.611765, 0.549020, 0.423529>]
|
||||
[0.239216 rgb <0.611765, 0.533333, 0.501961>]
|
||||
[0.243137 rgb <0.611765, 0.501961, 0.392157>]
|
||||
[0.247059 rgb <0.596078, 0.580392, 0.486275>]
|
||||
[0.250980 rgb <0.596078, 0.564706, 0.533333>]
|
||||
[0.254902 rgb <0.596078, 0.564706, 0.376471>]
|
||||
[0.258824 rgb <0.596078, 0.517647, 0.454902>]
|
||||
[0.262745 rgb <0.580392, 0.533333, 0.580392>]
|
||||
[0.266667 rgb <0.580392, 0.533333, 0.392157>]
|
||||
[0.270588 rgb <0.580392, 0.517647, 0.360784>]
|
||||
[0.274510 rgb <0.580392, 0.501961, 0.423529>]
|
||||
[0.278431 rgb <0.564706, 0.564706, 0.423529>]
|
||||
[0.282353 rgb <0.564706, 0.564706, 0.345098>]
|
||||
[0.286275 rgb <0.564706, 0.549020, 0.454902>]
|
||||
[0.290196 rgb <0.564706, 0.533333, 0.501961>]
|
||||
[0.294118 rgb <0.564706, 0.517647, 0.533333>]
|
||||
[0.298039 rgb <0.564706, 0.501961, 0.501961>]
|
||||
[0.301961 rgb <0.564706, 0.486275, 0.360784>]
|
||||
[0.305882 rgb <0.549020, 0.517647, 0.439216>]
|
||||
[0.309804 rgb <0.549020, 0.517647, 0.360784>]
|
||||
[0.313726 rgb <0.549020, 0.486275, 0.564706>]
|
||||
[0.317647 rgb <0.549020, 0.486275, 0.407843>]
|
||||
[0.321569 rgb <0.549020, 0.486275, 0.329412>]
|
||||
[0.325490 rgb <0.549020, 0.470588, 0.454902>]
|
||||
[0.329412 rgb <0.533333, 0.517647, 0.517647>]
|
||||
[0.333333 rgb <0.533333, 0.517647, 0.470588>]
|
||||
[0.337255 rgb <0.533333, 0.486275, 0.486275>]
|
||||
[0.341176 rgb <0.533333, 0.454902, 0.360784>]
|
||||
[0.345098 rgb <0.533333, 0.454902, 0.313726>]
|
||||
[0.349020 rgb <0.517647, 0.517647, 0.392157>]
|
||||
[0.352941 rgb <0.517647, 0.517647, 0.329412>]
|
||||
[0.356863 rgb <0.517647, 0.486275, 0.454902>]
|
||||
[0.360784 rgb <0.517647, 0.486275, 0.298039>]
|
||||
[0.364706 rgb <0.517647, 0.454902, 0.470588>]
|
||||
[0.368627 rgb <0.517647, 0.439216, 0.407843>]
|
||||
[0.372549 rgb <0.517647, 0.423529, 0.360784>]
|
||||
[0.376471 rgb <0.501961, 0.486275, 0.360784>]
|
||||
[0.380392 rgb <0.501961, 0.470588, 0.533333>]
|
||||
[0.384314 rgb <0.501961, 0.470588, 0.407843>]
|
||||
[0.388235 rgb <0.501961, 0.454902, 0.329412>]
|
||||
[0.392157 rgb <0.501961, 0.439216, 0.282353>]
|
||||
[0.396078 rgb <0.501961, 0.423529, 0.329412>]
|
||||
[0.400000 rgb <0.486275, 0.470588, 0.470588>]
|
||||
[0.403922 rgb <0.486275, 0.454902, 0.439216>]
|
||||
[0.407843 rgb <0.486275, 0.454902, 0.376471>]
|
||||
[0.411765 rgb <0.486275, 0.439216, 0.486275>]
|
||||
[0.415686 rgb <0.486275, 0.439216, 0.407843>]
|
||||
[0.419608 rgb <0.486275, 0.423529, 0.423529>]
|
||||
[0.423529 rgb <0.486275, 0.423529, 0.345098>]
|
||||
[0.427451 rgb <0.470588, 0.501961, 0.407843>]
|
||||
[0.431373 rgb <0.470588, 0.470588, 0.376471>]
|
||||
[0.435294 rgb <0.470588, 0.454902, 0.298039>]
|
||||
[0.439216 rgb <0.470588, 0.439216, 0.250980>]
|
||||
[0.443137 rgb <0.470588, 0.423529, 0.282353>]
|
||||
[0.447059 rgb <0.470588, 0.407843, 0.470588>]
|
||||
[0.450980 rgb <0.470588, 0.407843, 0.392157>]
|
||||
[0.454902 rgb <0.470588, 0.407843, 0.282353>]
|
||||
[0.458824 rgb <0.470588, 0.392157, 0.250980>]
|
||||
[0.462745 rgb <0.454902, 0.454902, 0.439216>]
|
||||
[0.466667 rgb <0.454902, 0.454902, 0.407843>]
|
||||
[0.470588 rgb <0.454902, 0.454902, 0.376471>]
|
||||
[0.474510 rgb <0.454902, 0.454902, 0.345098>]
|
||||
[0.478431 rgb <0.454902, 0.423529, 0.439216>]
|
||||
[0.482353 rgb <0.454902, 0.423529, 0.376471>]
|
||||
[0.486275 rgb <0.454902, 0.423529, 0.313726>]
|
||||
[0.490196 rgb <0.454902, 0.407843, 0.407843>]
|
||||
[0.494118 rgb <0.454902, 0.407843, 0.345098>]
|
||||
[0.498039 rgb <0.454902, 0.392157, 0.454902>]
|
||||
[0.501961 rgb <0.454902, 0.392157, 0.376471>]
|
||||
[0.505882 rgb <0.454902, 0.392157, 0.345098>]
|
||||
[0.509804 rgb <0.454902, 0.392157, 0.298039>]
|
||||
[0.513726 rgb <0.439216, 0.486275, 0.376471>]
|
||||
[0.517647 rgb <0.439216, 0.439216, 0.313726>]
|
||||
[0.521569 rgb <0.439216, 0.423529, 0.486275>]
|
||||
[0.525490 rgb <0.439216, 0.423529, 0.282353>]
|
||||
[0.529412 rgb <0.439216, 0.392157, 0.423529>]
|
||||
[0.533333 rgb <0.439216, 0.392157, 0.266667>]
|
||||
[0.537255 rgb <0.439216, 0.376471, 0.345098>]
|
||||
[0.541176 rgb <0.423529, 0.439216, 0.360784>]
|
||||
[0.545098 rgb <0.423529, 0.423529, 0.392157>]
|
||||
[0.549020 rgb <0.423529, 0.407843, 0.376471>]
|
||||
[0.552941 rgb <0.423529, 0.407843, 0.329412>]
|
||||
[0.556863 rgb <0.423529, 0.376471, 0.423529>]
|
||||
[0.560784 rgb <0.423529, 0.376471, 0.392157>]
|
||||
[0.564706 rgb <0.423529, 0.376471, 0.313726>]
|
||||
[0.568627 rgb <0.423529, 0.360784, 0.266667>]
|
||||
[0.572549 rgb <0.423529, 0.360784, 0.235294>]
|
||||
[0.576471 rgb <0.423529, 0.360784, 0.188235>]
|
||||
[0.580392 rgb <0.407843, 0.439216, 0.313726>]
|
||||
[0.584314 rgb <0.407843, 0.439216, 0.282353>]
|
||||
[0.588235 rgb <0.407843, 0.423529, 0.235294>]
|
||||
[0.592157 rgb <0.407843, 0.407843, 0.298039>]
|
||||
[0.596078 rgb <0.407843, 0.376471, 0.250980>]
|
||||
[0.600000 rgb <0.407843, 0.360784, 0.360784>]
|
||||
[0.603922 rgb <0.407843, 0.345098, 0.439216>]
|
||||
[0.607843 rgb <0.407843, 0.345098, 0.392157>]
|
||||
[0.611765 rgb <0.407843, 0.345098, 0.360784>]
|
||||
[0.615686 rgb <0.407843, 0.345098, 0.298039>]
|
||||
[0.619608 rgb <0.392157, 0.423529, 0.313726>]
|
||||
[0.623529 rgb <0.392157, 0.392157, 0.549020>]
|
||||
[0.627451 rgb <0.392157, 0.392157, 0.360784>]
|
||||
[0.631373 rgb <0.392157, 0.392157, 0.329412>]
|
||||
[0.635294 rgb <0.392157, 0.392157, 0.266667>]
|
||||
[0.639216 rgb <0.392157, 0.376471, 0.392157>]
|
||||
[0.643137 rgb <0.392157, 0.376471, 0.298039>]
|
||||
[0.647059 rgb <0.392157, 0.360784, 0.219608>]
|
||||
[0.650980 rgb <0.392157, 0.345098, 0.266667>]
|
||||
[0.654902 rgb <0.392157, 0.329412, 0.235294>]
|
||||
[0.658824 rgb <0.376471, 0.360784, 0.345098>]
|
||||
[0.662745 rgb <0.376471, 0.360784, 0.235294>]
|
||||
[0.666667 rgb <0.376471, 0.345098, 0.329412>]
|
||||
[0.670588 rgb <0.376471, 0.329412, 0.376471>]
|
||||
[0.674510 rgb <0.376471, 0.329412, 0.172549>]
|
||||
[0.678431 rgb <0.376471, 0.313726, 0.266667>]
|
||||
[0.682353 rgb <0.360784, 0.376471, 0.564706>]
|
||||
[0.686275 rgb <0.360784, 0.376471, 0.454902>]
|
||||
[0.690196 rgb <0.360784, 0.360784, 0.329412>]
|
||||
[0.694118 rgb <0.360784, 0.360784, 0.282353>]
|
||||
[0.698039 rgb <0.360784, 0.329412, 0.298039>]
|
||||
[0.701961 rgb <0.360784, 0.329412, 0.266667>]
|
||||
[0.705882 rgb <0.360784, 0.329412, 0.219608>]
|
||||
[0.709804 rgb <0.360784, 0.313726, 0.345098>]
|
||||
[0.713726 rgb <0.360784, 0.313726, 0.298039>]
|
||||
[0.717647 rgb <0.360784, 0.313726, 0.219608>]
|
||||
[0.721569 rgb <0.345098, 0.376471, 0.549020>]
|
||||
[0.725490 rgb <0.345098, 0.360784, 0.250980>]
|
||||
[0.729412 rgb <0.345098, 0.345098, 0.360784>]
|
||||
[0.733333 rgb <0.345098, 0.345098, 0.235294>]
|
||||
[0.737255 rgb <0.345098, 0.329412, 0.313726>]
|
||||
[0.741176 rgb <0.345098, 0.313726, 0.392157>]
|
||||
[0.745098 rgb <0.345098, 0.313726, 0.345098>]
|
||||
[0.749020 rgb <0.345098, 0.313726, 0.329412>]
|
||||
[0.752941 rgb <0.345098, 0.313726, 0.235294>]
|
||||
[0.756863 rgb <0.345098, 0.313726, 0.188235>]
|
||||
[0.760784 rgb <0.345098, 0.298039, 0.298039>]
|
||||
[0.764706 rgb <0.329412, 0.329412, 0.282353>]
|
||||
[0.768627 rgb <0.329412, 0.329412, 0.203922>]
|
||||
[0.772549 rgb <0.329412, 0.313726, 0.250980>]
|
||||
[0.776471 rgb <0.329412, 0.282353, 0.360784>]
|
||||
[0.780392 rgb <0.329412, 0.282353, 0.329412>]
|
||||
[0.784314 rgb <0.329412, 0.282353, 0.266667>]
|
||||
[0.788235 rgb <0.313726, 0.329412, 0.235294>]
|
||||
[0.792157 rgb <0.313726, 0.298039, 0.298039>]
|
||||
[0.796078 rgb <0.313726, 0.282353, 0.203922>]
|
||||
[0.800000 rgb <0.313726, 0.266667, 0.376471>]
|
||||
[0.803922 rgb <0.313726, 0.266667, 0.235294>]
|
||||
[0.807843 rgb <0.298039, 0.313726, 0.266667>]
|
||||
[0.811765 rgb <0.298039, 0.298039, 0.235294>]
|
||||
[0.815686 rgb <0.298039, 0.298039, 0.203922>]
|
||||
[0.819608 rgb <0.298039, 0.282353, 0.298039>]
|
||||
[0.823529 rgb <0.298039, 0.282353, 0.250980>]
|
||||
[0.827451 rgb <0.298039, 0.282353, 0.203922>]
|
||||
[0.831373 rgb <0.298039, 0.266667, 0.329412>]
|
||||
[0.835294 rgb <0.298039, 0.250980, 0.298039>]
|
||||
[0.839216 rgb <0.282353, 0.298039, 0.141176>]
|
||||
[0.843137 rgb <0.282353, 0.266667, 0.188235>]
|
||||
[0.847059 rgb <0.282353, 0.250980, 0.266667>]
|
||||
[0.850980 rgb <0.282353, 0.250980, 0.219608>]
|
||||
[0.854902 rgb <0.282353, 0.219608, 0.298039>]
|
||||
[0.858824 rgb <0.266667, 0.282353, 0.219608>]
|
||||
[0.862745 rgb <0.266667, 0.266667, 0.250980>]
|
||||
[0.866667 rgb <0.266667, 0.250980, 0.282353>]
|
||||
[0.870588 rgb <0.266667, 0.250980, 0.235294>]
|
||||
[0.874510 rgb <0.250980, 0.266667, 0.188235>]
|
||||
[0.878431 rgb <0.250980, 0.250980, 0.250980>]
|
||||
[0.882353 rgb <0.250980, 0.250980, 0.188235>]
|
||||
[0.886275 rgb <0.250980, 0.235294, 0.172549>]
|
||||
[0.890196 rgb <0.250980, 0.219608, 0.250980>]
|
||||
[0.894118 rgb <0.250980, 0.219608, 0.235294>]
|
||||
[0.898039 rgb <0.250980, 0.219608, 0.203922>]
|
||||
[0.901961 rgb <0.250980, 0.188235, 0.250980>]
|
||||
[0.905882 rgb <0.235294, 0.282353, 0.266667>]
|
||||
[0.909804 rgb <0.235294, 0.266667, 0.141176>]
|
||||
[0.913725 rgb <0.235294, 0.235294, 0.235294>]
|
||||
[0.917647 rgb <0.235294, 0.219608, 0.203922>]
|
||||
[0.921569 rgb <0.219608, 0.250980, 0.125490>]
|
||||
[0.925490 rgb <0.219608, 0.235294, 0.156863>]
|
||||
[0.929412 rgb <0.219608, 0.203922, 0.156863>]
|
||||
[0.933333 rgb <0.219608, 0.188235, 0.219608>]
|
||||
[0.937255 rgb <0.219608, 0.188235, 0.188235>]
|
||||
[0.941176 rgb <0.203922, 0.219608, 0.172549>]
|
||||
[0.945098 rgb <0.203922, 0.219608, 0.125490>]
|
||||
[0.949020 rgb <0.203922, 0.156863, 0.235294>]
|
||||
[0.952941 rgb <0.188235, 0.188235, 0.188235>]
|
||||
[0.956863 rgb <0.188235, 0.188235, 0.156863>]
|
||||
[0.960784 rgb <0.188235, 0.156863, 0.203922>]
|
||||
[0.964706 rgb <0.172549, 0.188235, 0.125490>]
|
||||
[0.968627 rgb <0.156863, 0.156863, 0.172549>]
|
||||
[0.972549 rgb <0.156863, 0.156863, 0.125490>]
|
||||
[0.976471 rgb <0.156863, 0.125490, 0.219608>]
|
||||
[0.980392 rgb <0.141176, 0.125490, 0.125490>]
|
||||
[0.984314 rgb <0.109804, 0.125490, 0.094118>]
|
||||
[0.988235 rgb <0.109804, 0.109804, 0.109804>]
|
||||
[0.992157 rgb <0.109804, 0.094118, 0.141176>]
|
||||
[0.996078 rgb <0.094118, 0.094118, 0.094118>]
|
||||
}
|
||||
#version Benediti_Inc_Temp;
|
||||
267
distribution/include/bubinga.map
Normal file
|
|
@ -0,0 +1,267 @@
|
|||
#declare Bubinga_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Bubinga wood color_map
|
||||
*/
|
||||
|
||||
#declare M_Bubinga =
|
||||
color_map {
|
||||
[0.000000 rgb <0.486275, 0.235294, 0.156863>]
|
||||
[0.003922 rgb <0.486275, 0.203922, 0.125490>]
|
||||
[0.007843 rgb <0.486275, 0.203922, 0.094118>]
|
||||
[0.011765 rgb <0.470588, 0.219608, 0.156863>]
|
||||
[0.015686 rgb <0.470588, 0.203922, 0.109804>]
|
||||
[0.019608 rgb <0.470588, 0.188235, 0.094118>]
|
||||
[0.023529 rgb <0.470588, 0.172549, 0.078431>]
|
||||
[0.027451 rgb <0.454902, 0.235294, 0.188235>]
|
||||
[0.031373 rgb <0.454902, 0.219608, 0.172549>]
|
||||
[0.035294 rgb <0.454902, 0.219608, 0.141176>]
|
||||
[0.039216 rgb <0.454902, 0.203922, 0.156863>]
|
||||
[0.043137 rgb <0.454902, 0.203922, 0.125490>]
|
||||
[0.047059 rgb <0.454902, 0.188235, 0.141176>]
|
||||
[0.050980 rgb <0.454902, 0.188235, 0.109804>]
|
||||
[0.054902 rgb <0.454902, 0.172549, 0.094118>]
|
||||
[0.058824 rgb <0.439216, 0.235294, 0.219608>]
|
||||
[0.062745 rgb <0.439216, 0.219608, 0.188235>]
|
||||
[0.066667 rgb <0.439216, 0.219608, 0.156863>]
|
||||
[0.070588 rgb <0.439216, 0.203922, 0.172549>]
|
||||
[0.074510 rgb <0.439216, 0.203922, 0.141176>]
|
||||
[0.078431 rgb <0.439216, 0.203922, 0.109804>]
|
||||
[0.082353 rgb <0.439216, 0.188235, 0.156863>]
|
||||
[0.086275 rgb <0.439216, 0.188235, 0.125490>]
|
||||
[0.090196 rgb <0.439216, 0.188235, 0.094118>]
|
||||
[0.094118 rgb <0.439216, 0.172549, 0.109804>]
|
||||
[0.098039 rgb <0.439216, 0.172549, 0.078431>]
|
||||
[0.101961 rgb <0.439216, 0.156863, 0.094118>]
|
||||
[0.105882 rgb <0.423529, 0.219608, 0.172549>]
|
||||
[0.109804 rgb <0.423529, 0.219608, 0.141176>]
|
||||
[0.113725 rgb <0.423529, 0.203922, 0.156863>]
|
||||
[0.117647 rgb <0.423529, 0.203922, 0.125490>]
|
||||
[0.121569 rgb <0.423529, 0.188235, 0.172549>]
|
||||
[0.125490 rgb <0.423529, 0.188235, 0.141176>]
|
||||
[0.129412 rgb <0.423529, 0.188235, 0.109804>]
|
||||
[0.133333 rgb <0.423529, 0.172549, 0.156863>]
|
||||
[0.137255 rgb <0.423529, 0.172549, 0.125490>]
|
||||
[0.141176 rgb <0.423529, 0.172549, 0.094118>]
|
||||
[0.145098 rgb <0.423529, 0.156863, 0.109804>]
|
||||
[0.149020 rgb <0.423529, 0.156863, 0.078431>]
|
||||
[0.152941 rgb <0.407843, 0.219608, 0.156863>]
|
||||
[0.156863 rgb <0.407843, 0.203922, 0.172549>]
|
||||
[0.160784 rgb <0.407843, 0.203922, 0.141176>]
|
||||
[0.164706 rgb <0.407843, 0.203922, 0.109804>]
|
||||
[0.168627 rgb <0.407843, 0.188235, 0.188235>]
|
||||
[0.172549 rgb <0.407843, 0.188235, 0.156863>]
|
||||
[0.176471 rgb <0.407843, 0.188235, 0.125490>]
|
||||
[0.180392 rgb <0.407843, 0.172549, 0.141176>]
|
||||
[0.184314 rgb <0.407843, 0.172549, 0.109804>]
|
||||
[0.188235 rgb <0.407843, 0.156863, 0.125490>]
|
||||
[0.192157 rgb <0.407843, 0.156863, 0.094118>]
|
||||
[0.196078 rgb <0.392157, 0.219608, 0.172549>]
|
||||
[0.200000 rgb <0.392157, 0.203922, 0.188235>]
|
||||
[0.203922 rgb <0.392157, 0.203922, 0.156863>]
|
||||
[0.207843 rgb <0.392157, 0.203922, 0.125490>]
|
||||
[0.211765 rgb <0.392157, 0.188235, 0.172549>]
|
||||
[0.215686 rgb <0.392157, 0.188235, 0.141176>]
|
||||
[0.219608 rgb <0.392157, 0.188235, 0.109804>]
|
||||
[0.223529 rgb <0.392157, 0.172549, 0.156863>]
|
||||
[0.227451 rgb <0.392157, 0.172549, 0.125490>]
|
||||
[0.231373 rgb <0.392157, 0.172549, 0.094118>]
|
||||
[0.235294 rgb <0.392157, 0.156863, 0.141176>]
|
||||
[0.239216 rgb <0.392157, 0.156863, 0.109804>]
|
||||
[0.243137 rgb <0.392157, 0.156863, 0.078431>]
|
||||
[0.247059 rgb <0.392157, 0.141176, 0.094118>]
|
||||
[0.250980 rgb <0.392157, 0.141176, 0.062745>]
|
||||
[0.254902 rgb <0.376471, 0.188235, 0.156863>]
|
||||
[0.258824 rgb <0.376471, 0.188235, 0.125490>]
|
||||
[0.262745 rgb <0.376471, 0.188235, 0.094118>]
|
||||
[0.266667 rgb <0.376471, 0.172549, 0.172549>]
|
||||
[0.270588 rgb <0.376471, 0.172549, 0.141176>]
|
||||
[0.274510 rgb <0.376471, 0.172549, 0.109804>]
|
||||
[0.278431 rgb <0.376471, 0.156863, 0.125490>]
|
||||
[0.282353 rgb <0.376471, 0.156863, 0.094118>]
|
||||
[0.286275 rgb <0.376471, 0.141176, 0.109804>]
|
||||
[0.290196 rgb <0.376471, 0.141176, 0.078431>]
|
||||
[0.294118 rgb <0.376471, 0.125490, 0.094118>]
|
||||
[0.298039 rgb <0.376471, 0.125490, 0.062745>]
|
||||
[0.301961 rgb <0.360784, 0.203922, 0.172549>]
|
||||
[0.305882 rgb <0.360784, 0.188235, 0.141176>]
|
||||
[0.309804 rgb <0.360784, 0.172549, 0.156863>]
|
||||
[0.313726 rgb <0.360784, 0.172549, 0.125490>]
|
||||
[0.317647 rgb <0.360784, 0.172549, 0.094118>]
|
||||
[0.321569 rgb <0.360784, 0.156863, 0.141176>]
|
||||
[0.325490 rgb <0.360784, 0.156863, 0.109804>]
|
||||
[0.329412 rgb <0.360784, 0.156863, 0.078431>]
|
||||
[0.333333 rgb <0.360784, 0.141176, 0.125490>]
|
||||
[0.337255 rgb <0.360784, 0.141176, 0.094118>]
|
||||
[0.341176 rgb <0.360784, 0.141176, 0.062745>]
|
||||
[0.345098 rgb <0.360784, 0.125490, 0.109804>]
|
||||
[0.349020 rgb <0.360784, 0.125490, 0.078431>]
|
||||
[0.352941 rgb <0.360784, 0.109804, 0.062745>]
|
||||
[0.356863 rgb <0.345098, 0.203922, 0.109804>]
|
||||
[0.360784 rgb <0.345098, 0.188235, 0.156863>]
|
||||
[0.364706 rgb <0.345098, 0.172549, 0.141176>]
|
||||
[0.368627 rgb <0.345098, 0.172549, 0.109804>]
|
||||
[0.372549 rgb <0.345098, 0.172549, 0.078431>]
|
||||
[0.376471 rgb <0.345098, 0.156863, 0.156863>]
|
||||
[0.380392 rgb <0.345098, 0.156863, 0.125490>]
|
||||
[0.384314 rgb <0.345098, 0.156863, 0.094118>]
|
||||
[0.388235 rgb <0.345098, 0.141176, 0.141176>]
|
||||
[0.392157 rgb <0.345098, 0.141176, 0.109804>]
|
||||
[0.396078 rgb <0.345098, 0.141176, 0.078431>]
|
||||
[0.400000 rgb <0.345098, 0.125490, 0.094118>]
|
||||
[0.403922 rgb <0.345098, 0.125490, 0.062745>]
|
||||
[0.407843 rgb <0.345098, 0.109804, 0.078431>]
|
||||
[0.411765 rgb <0.345098, 0.109804, 0.047059>]
|
||||
[0.415686 rgb <0.329412, 0.172549, 0.156863>]
|
||||
[0.419608 rgb <0.329412, 0.172549, 0.125490>]
|
||||
[0.423529 rgb <0.329412, 0.156863, 0.141176>]
|
||||
[0.427451 rgb <0.329412, 0.156863, 0.109804>]
|
||||
[0.431373 rgb <0.329412, 0.156863, 0.078431>]
|
||||
[0.435294 rgb <0.329412, 0.141176, 0.125490>]
|
||||
[0.439216 rgb <0.329412, 0.141176, 0.094118>]
|
||||
[0.443137 rgb <0.329412, 0.125490, 0.109804>]
|
||||
[0.447059 rgb <0.329412, 0.125490, 0.078431>]
|
||||
[0.450980 rgb <0.329412, 0.109804, 0.094118>]
|
||||
[0.454902 rgb <0.329412, 0.109804, 0.062745>]
|
||||
[0.458824 rgb <0.329412, 0.094118, 0.078431>]
|
||||
[0.462745 rgb <0.329412, 0.094118, 0.047059>]
|
||||
[0.466667 rgb <0.313726, 0.203922, 0.188235>]
|
||||
[0.470588 rgb <0.313726, 0.172549, 0.141176>]
|
||||
[0.474510 rgb <0.313726, 0.156863, 0.125490>]
|
||||
[0.478431 rgb <0.313726, 0.156863, 0.094118>]
|
||||
[0.482353 rgb <0.313726, 0.141176, 0.141176>]
|
||||
[0.486275 rgb <0.313726, 0.141176, 0.109804>]
|
||||
[0.490196 rgb <0.313726, 0.141176, 0.078431>]
|
||||
[0.494118 rgb <0.313726, 0.125490, 0.125490>]
|
||||
[0.498039 rgb <0.313726, 0.125490, 0.094118>]
|
||||
[0.501961 rgb <0.313726, 0.125490, 0.062745>]
|
||||
[0.505882 rgb <0.313726, 0.109804, 0.109804>]
|
||||
[0.509804 rgb <0.313726, 0.109804, 0.078431>]
|
||||
[0.513726 rgb <0.313726, 0.109804, 0.047059>]
|
||||
[0.517647 rgb <0.313726, 0.094118, 0.062745>]
|
||||
[0.521569 rgb <0.298039, 0.156863, 0.141176>]
|
||||
[0.525490 rgb <0.298039, 0.156863, 0.109804>]
|
||||
[0.529412 rgb <0.298039, 0.141176, 0.125490>]
|
||||
[0.533333 rgb <0.298039, 0.141176, 0.094118>]
|
||||
[0.537255 rgb <0.298039, 0.125490, 0.109804>]
|
||||
[0.541176 rgb <0.298039, 0.125490, 0.078431>]
|
||||
[0.545098 rgb <0.298039, 0.109804, 0.094118>]
|
||||
[0.549020 rgb <0.298039, 0.109804, 0.062745>]
|
||||
[0.552941 rgb <0.298039, 0.094118, 0.078431>]
|
||||
[0.556863 rgb <0.298039, 0.094118, 0.047059>]
|
||||
[0.560784 rgb <0.282353, 0.156863, 0.094118>]
|
||||
[0.564706 rgb <0.282353, 0.141176, 0.141176>]
|
||||
[0.568627 rgb <0.282353, 0.141176, 0.109804>]
|
||||
[0.572549 rgb <0.282353, 0.125490, 0.125490>]
|
||||
[0.576471 rgb <0.282353, 0.125490, 0.094118>]
|
||||
[0.580392 rgb <0.282353, 0.125490, 0.062745>]
|
||||
[0.584314 rgb <0.282353, 0.109804, 0.109804>]
|
||||
[0.588235 rgb <0.282353, 0.109804, 0.078431>]
|
||||
[0.592157 rgb <0.282353, 0.109804, 0.047059>]
|
||||
[0.596078 rgb <0.282353, 0.094118, 0.094118>]
|
||||
[0.600000 rgb <0.282353, 0.094118, 0.062745>]
|
||||
[0.603922 rgb <0.282353, 0.078431, 0.047059>]
|
||||
[0.607843 rgb <0.266667, 0.156863, 0.156863>]
|
||||
[0.611765 rgb <0.266667, 0.141176, 0.125490>]
|
||||
[0.615686 rgb <0.266667, 0.125490, 0.109804>]
|
||||
[0.619608 rgb <0.266667, 0.125490, 0.078431>]
|
||||
[0.623529 rgb <0.266667, 0.109804, 0.125490>]
|
||||
[0.627451 rgb <0.266667, 0.109804, 0.094118>]
|
||||
[0.631373 rgb <0.266667, 0.109804, 0.062745>]
|
||||
[0.635294 rgb <0.266667, 0.094118, 0.078431>]
|
||||
[0.639216 rgb <0.266667, 0.094118, 0.047059>]
|
||||
[0.643137 rgb <0.266667, 0.078431, 0.062745>]
|
||||
[0.647059 rgb <0.250980, 0.125490, 0.125490>]
|
||||
[0.650980 rgb <0.250980, 0.125490, 0.094118>]
|
||||
[0.654902 rgb <0.250980, 0.125490, 0.062745>]
|
||||
[0.658824 rgb <0.250980, 0.109804, 0.109804>]
|
||||
[0.662745 rgb <0.250980, 0.109804, 0.078431>]
|
||||
[0.666667 rgb <0.250980, 0.094118, 0.094118>]
|
||||
[0.670588 rgb <0.250980, 0.094118, 0.062745>]
|
||||
[0.674510 rgb <0.250980, 0.078431, 0.078431>]
|
||||
[0.678431 rgb <0.250980, 0.078431, 0.047059>]
|
||||
[0.682353 rgb <0.250980, 0.078431, 0.031373>]
|
||||
[0.686275 rgb <0.250980, 0.062745, 0.047059>]
|
||||
[0.690196 rgb <0.235294, 0.125490, 0.109804>]
|
||||
[0.694118 rgb <0.235294, 0.125490, 0.094118>]
|
||||
[0.698039 rgb <0.235294, 0.109804, 0.109804>]
|
||||
[0.701961 rgb <0.235294, 0.109804, 0.094118>]
|
||||
[0.705882 rgb <0.235294, 0.109804, 0.078431>]
|
||||
[0.709804 rgb <0.235294, 0.109804, 0.062745>]
|
||||
[0.713726 rgb <0.235294, 0.094118, 0.094118>]
|
||||
[0.717647 rgb <0.235294, 0.094118, 0.078431>]
|
||||
[0.721569 rgb <0.235294, 0.094118, 0.062745>]
|
||||
[0.725490 rgb <0.235294, 0.094118, 0.047059>]
|
||||
[0.729412 rgb <0.235294, 0.078431, 0.078431>]
|
||||
[0.733333 rgb <0.235294, 0.078431, 0.062745>]
|
||||
[0.737255 rgb <0.235294, 0.078431, 0.047059>]
|
||||
[0.741176 rgb <0.235294, 0.078431, 0.031373>]
|
||||
[0.745098 rgb <0.235294, 0.062745, 0.047059>]
|
||||
[0.749020 rgb <0.235294, 0.062745, 0.031373>]
|
||||
[0.752941 rgb <0.219608, 0.109804, 0.094118>]
|
||||
[0.756863 rgb <0.219608, 0.109804, 0.078431>]
|
||||
[0.760784 rgb <0.219608, 0.109804, 0.062745>]
|
||||
[0.764706 rgb <0.219608, 0.094118, 0.094118>]
|
||||
[0.768627 rgb <0.219608, 0.094118, 0.078431>]
|
||||
[0.772549 rgb <0.219608, 0.094118, 0.062745>]
|
||||
[0.776471 rgb <0.219608, 0.094118, 0.047059>]
|
||||
[0.780392 rgb <0.219608, 0.078431, 0.078431>]
|
||||
[0.784314 rgb <0.219608, 0.078431, 0.062745>]
|
||||
[0.788235 rgb <0.219608, 0.078431, 0.047059>]
|
||||
[0.792157 rgb <0.219608, 0.062745, 0.078431>]
|
||||
[0.796078 rgb <0.219608, 0.062745, 0.062745>]
|
||||
[0.800000 rgb <0.219608, 0.062745, 0.047059>]
|
||||
[0.803922 rgb <0.219608, 0.062745, 0.031373>]
|
||||
[0.807843 rgb <0.203922, 0.109804, 0.078431>]
|
||||
[0.811765 rgb <0.203922, 0.094118, 0.094118>]
|
||||
[0.815686 rgb <0.203922, 0.094118, 0.078431>]
|
||||
[0.819608 rgb <0.203922, 0.094118, 0.062745>]
|
||||
[0.823529 rgb <0.203922, 0.094118, 0.047059>]
|
||||
[0.827451 rgb <0.203922, 0.078431, 0.094118>]
|
||||
[0.831373 rgb <0.203922, 0.078431, 0.078431>]
|
||||
[0.835294 rgb <0.203922, 0.078431, 0.062745>]
|
||||
[0.839216 rgb <0.203922, 0.078431, 0.047059>]
|
||||
[0.843137 rgb <0.203922, 0.062745, 0.062745>]
|
||||
[0.847059 rgb <0.203922, 0.062745, 0.047059>]
|
||||
[0.850980 rgb <0.203922, 0.062745, 0.031373>]
|
||||
[0.854902 rgb <0.188235, 0.094118, 0.094118>]
|
||||
[0.858824 rgb <0.188235, 0.094118, 0.078431>]
|
||||
[0.862745 rgb <0.188235, 0.094118, 0.062745>]
|
||||
[0.866667 rgb <0.188235, 0.078431, 0.078431>]
|
||||
[0.870588 rgb <0.188235, 0.078431, 0.062745>]
|
||||
[0.874510 rgb <0.188235, 0.078431, 0.047059>]
|
||||
[0.878431 rgb <0.188235, 0.078431, 0.031373>]
|
||||
[0.882353 rgb <0.188235, 0.062745, 0.062745>]
|
||||
[0.886275 rgb <0.188235, 0.062745, 0.047059>]
|
||||
[0.890196 rgb <0.188235, 0.062745, 0.031373>]
|
||||
[0.894118 rgb <0.172549, 0.094118, 0.078431>]
|
||||
[0.898039 rgb <0.172549, 0.094118, 0.062745>]
|
||||
[0.901961 rgb <0.172549, 0.078431, 0.078431>]
|
||||
[0.905882 rgb <0.172549, 0.078431, 0.062745>]
|
||||
[0.909804 rgb <0.172549, 0.078431, 0.047059>]
|
||||
[0.913725 rgb <0.172549, 0.062745, 0.062745>]
|
||||
[0.917647 rgb <0.172549, 0.062745, 0.047059>]
|
||||
[0.921569 rgb <0.172549, 0.062745, 0.031373>]
|
||||
[0.925490 rgb <0.172549, 0.047059, 0.047059>]
|
||||
[0.929412 rgb <0.156863, 0.078431, 0.062745>]
|
||||
[0.933333 rgb <0.156863, 0.078431, 0.047059>]
|
||||
[0.937255 rgb <0.156863, 0.062745, 0.062745>]
|
||||
[0.941176 rgb <0.156863, 0.062745, 0.047059>]
|
||||
[0.945098 rgb <0.156863, 0.062745, 0.031373>]
|
||||
[0.949020 rgb <0.156863, 0.047059, 0.047059>]
|
||||
[0.952941 rgb <0.156863, 0.047059, 0.031373>]
|
||||
[0.956863 rgb <0.141176, 0.078431, 0.062745>]
|
||||
[0.960784 rgb <0.141176, 0.062745, 0.062745>]
|
||||
[0.964706 rgb <0.141176, 0.062745, 0.047059>]
|
||||
[0.968627 rgb <0.141176, 0.062745, 0.031373>]
|
||||
[0.972549 rgb <0.141176, 0.047059, 0.047059>]
|
||||
[0.976471 rgb <0.141176, 0.047059, 0.031373>]
|
||||
[0.980392 rgb <0.125490, 0.062745, 0.047059>]
|
||||
[0.984314 rgb <0.125490, 0.062745, 0.031373>]
|
||||
[0.988235 rgb <0.125490, 0.047059, 0.047059>]
|
||||
[0.992157 rgb <0.125490, 0.047059, 0.031373>]
|
||||
[0.996078 rgb <0.109804, 0.062745, 0.047059>]
|
||||
}
|
||||
|
||||
#version Bubinga_Inc_Temp;
|
||||
BIN
distribution/include/bumpmap_.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
266
distribution/include/cedar.map
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
#declare Cedar_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Cedar wood color_map
|
||||
*/
|
||||
|
||||
#declare M_Cedar =
|
||||
color_map {
|
||||
[0.0000 rgb <0.0941, 0.0627, 0.1569> ]
|
||||
[0.0039 rgb <0.1255, 0.0000, 0.0627> ]
|
||||
[0.0078 rgb <0.1569, 0.0627, 0.0941> ]
|
||||
[0.0118 rgb <0.1569, 0.0941, 0.1255> ]
|
||||
[0.0157 rgb <0.1569, 0.1569, 0.1882> ]
|
||||
[0.0196 rgb <0.2196, 0.0941, 0.0314> ]
|
||||
[0.0235 rgb <0.2196, 0.0941, 0.1569> ]
|
||||
[0.0275 rgb <0.2196, 0.1569, 0.1569> ]
|
||||
[0.0314 rgb <0.2196, 0.2510, 0.2196> ]
|
||||
[0.0353 rgb <0.2510, 0.0314, 0.0627> ]
|
||||
[0.0392 rgb <0.2510, 0.2196, 0.1569> ]
|
||||
[0.0431 rgb <0.2824, 0.0941, 0.0941> ]
|
||||
[0.0471 rgb <0.2824, 0.1569, 0.0314> ]
|
||||
[0.0510 rgb <0.2824, 0.1569, 0.1882> ]
|
||||
[0.0549 rgb <0.2824, 0.2510, 0.1882> ]
|
||||
[0.0588 rgb <0.3137, 0.0941, 0.0627> ]
|
||||
[0.0627 rgb <0.3137, 0.1569, 0.0314> ]
|
||||
[0.0667 rgb <0.3451, 0.1569, 0.1569> ]
|
||||
[0.0706 rgb <0.3451, 0.2196, 0.1569> ]
|
||||
[0.0745 rgb <0.3451, 0.2510, 0.1255> ]
|
||||
[0.0784 rgb <0.3451, 0.2824, 0.1569> ]
|
||||
[0.0824 rgb <0.3451, 0.3765, 0.2824> ]
|
||||
[0.0863 rgb <0.4078, 0.1255, 0.0941> ]
|
||||
[0.0902 rgb <0.4078, 0.2196, 0.1255> ]
|
||||
[0.0941 rgb <0.4078, 0.2510, 0.1255> ]
|
||||
[0.0980 rgb <0.4078, 0.2510, 0.1882> ]
|
||||
[0.1020 rgb <0.4078, 0.2510, 0.2196> ]
|
||||
[0.1059 rgb <0.4078, 0.2824, 0.1255> ]
|
||||
[0.1098 rgb <0.4078, 0.3137, 0.1569> ]
|
||||
[0.1137 rgb <0.4078, 0.3137, 0.2196> ]
|
||||
[0.1176 rgb <0.4078, 0.3137, 0.2824> ]
|
||||
[0.1216 rgb <0.4078, 0.4078, 0.2824> ]
|
||||
[0.1255 rgb <0.4392, 0.1882, 0.1255> ]
|
||||
[0.1294 rgb <0.4392, 0.2196, 0.1569> ]
|
||||
[0.1333 rgb <0.4392, 0.3765, 0.2510> ]
|
||||
[0.1373 rgb <0.4392, 0.4392, 0.3451> ]
|
||||
[0.1412 rgb <0.4706, 0.2196, 0.1569> ]
|
||||
[0.1451 rgb <0.4706, 0.2510, 0.1255> ]
|
||||
[0.1490 rgb <0.4706, 0.2510, 0.2196> ]
|
||||
[0.1529 rgb <0.4706, 0.3137, 0.1569> ]
|
||||
[0.1569 rgb <0.4706, 0.3137, 0.2196> ]
|
||||
[0.1608 rgb <0.4706, 0.3137, 0.2510> ]
|
||||
[0.1647 rgb <0.4706, 0.3137, 0.2824> ]
|
||||
[0.1686 rgb <0.5020, 0.2510, 0.1569> ]
|
||||
[0.1725 rgb <0.5020, 0.2510, 0.2196> ]
|
||||
[0.1765 rgb <0.5020, 0.3765, 0.2196> ]
|
||||
[0.1804 rgb <0.5020, 0.3765, 0.2824> ]
|
||||
[0.1843 rgb <0.5020, 0.4078, 0.2196> ]
|
||||
[0.1882 rgb <0.5020, 0.4078, 0.3137> ]
|
||||
[0.1922 rgb <0.5020, 0.4392, 0.2824> ]
|
||||
[0.1961 rgb <0.5020, 0.4706, 0.3451> ]
|
||||
[0.2000 rgb <0.5333, 0.2510, 0.1882> ]
|
||||
[0.2039 rgb <0.5333, 0.3137, 0.1882> ]
|
||||
[0.2078 rgb <0.5333, 0.3137, 0.2510> ]
|
||||
[0.2118 rgb <0.5333, 0.3137, 0.2824> ]
|
||||
[0.2157 rgb <0.5804, 0.2510, 0.2196> ]
|
||||
[0.2196 rgb <0.5804, 0.3137, 0.1882> ]
|
||||
[0.2235 rgb <0.5804, 0.3137, 0.2510> ]
|
||||
[0.2275 rgb <0.5804, 0.3451, 0.2824> ]
|
||||
[0.2314 rgb <0.5804, 0.3765, 0.1882> ]
|
||||
[0.2353 rgb <0.5804, 0.3765, 0.2510> ]
|
||||
[0.2392 rgb <0.5804, 0.3765, 0.3137> ]
|
||||
[0.2431 rgb <0.5804, 0.3765, 0.3451> ]
|
||||
[0.2471 rgb <0.5804, 0.4078, 0.2510> ]
|
||||
[0.2510 rgb <0.5804, 0.4078, 0.3137> ]
|
||||
[0.2549 rgb <0.5804, 0.4078, 0.3451> ]
|
||||
[0.2588 rgb <0.5804, 0.4392, 0.2196> ]
|
||||
[0.2627 rgb <0.5804, 0.4392, 0.2824> ]
|
||||
[0.2667 rgb <0.5804, 0.4392, 0.3451> ]
|
||||
[0.2706 rgb <0.5804, 0.4392, 0.3765> ]
|
||||
[0.2745 rgb <0.5804, 0.4706, 0.2824> ]
|
||||
[0.2784 rgb <0.5804, 0.4706, 0.3765> ]
|
||||
[0.2824 rgb <0.5804, 0.5020, 0.3451> ]
|
||||
[0.2863 rgb <0.5804, 0.5020, 0.4078> ]
|
||||
[0.2902 rgb <0.5804, 0.5804, 0.4078> ]
|
||||
[0.2941 rgb <0.6118, 0.3137, 0.2196> ]
|
||||
[0.2980 rgb <0.6118, 0.3137, 0.2824> ]
|
||||
[0.3020 rgb <0.6118, 0.3765, 0.2510> ]
|
||||
[0.3059 rgb <0.6118, 0.6118, 0.4706> ]
|
||||
[0.3098 rgb <0.6431, 0.3137, 0.2510> ]
|
||||
[0.3137 rgb <0.6431, 0.3765, 0.2510> ]
|
||||
[0.3176 rgb <0.6431, 0.3765, 0.3137> ]
|
||||
[0.3216 rgb <0.6431, 0.4078, 0.3451> ]
|
||||
[0.3255 rgb <0.6431, 0.4392, 0.2824> ]
|
||||
[0.3294 rgb <0.6431, 0.4392, 0.3451> ]
|
||||
[0.3333 rgb <0.6431, 0.4392, 0.3765> ]
|
||||
[0.3373 rgb <0.6431, 0.4706, 0.3765> ]
|
||||
[0.3412 rgb <0.6431, 0.5020, 0.3137> ]
|
||||
[0.3451 rgb <0.6431, 0.5020, 0.3765> ]
|
||||
[0.3490 rgb <0.6431, 0.5020, 0.4078> ]
|
||||
[0.3529 rgb <0.6431, 0.5020, 0.4392> ]
|
||||
[0.3569 rgb <0.6431, 0.5333, 0.3137> ]
|
||||
[0.3608 rgb <0.6431, 0.5333, 0.3765> ]
|
||||
[0.3647 rgb <0.6431, 0.5333, 0.4078> ]
|
||||
[0.3686 rgb <0.6431, 0.5333, 0.4392> ]
|
||||
[0.3725 rgb <0.6745, 0.3765, 0.2510> ]
|
||||
[0.3765 rgb <0.6745, 0.3765, 0.3451> ]
|
||||
[0.3804 rgb <0.6745, 0.4392, 0.2824> ]
|
||||
[0.3843 rgb <0.6745, 0.4392, 0.3451> ]
|
||||
[0.3882 rgb <0.6745, 0.4392, 0.3765> ]
|
||||
[0.3922 rgb <0.6745, 0.4706, 0.3765> ]
|
||||
[0.3961 rgb <0.6745, 0.4706, 0.4078> ]
|
||||
[0.4000 rgb <0.6745, 0.5804, 0.4078> ]
|
||||
[0.4039 rgb <0.6745, 0.6118, 0.4392> ]
|
||||
[0.4078 rgb <0.7059, 0.3765, 0.3137> ]
|
||||
[0.4118 rgb <0.7059, 0.4392, 0.3451> ]
|
||||
[0.4157 rgb <0.7059, 0.4706, 0.3137> ]
|
||||
[0.4196 rgb <0.7059, 0.4706, 0.3765> ]
|
||||
[0.4235 rgb <0.7059, 0.5020, 0.3451> ]
|
||||
[0.4275 rgb <0.7059, 0.5020, 0.4078> ]
|
||||
[0.4314 rgb <0.7059, 0.5020, 0.4392> ]
|
||||
[0.4353 rgb <0.7059, 0.5333, 0.3451> ]
|
||||
[0.4392 rgb <0.7059, 0.5333, 0.4392> ]
|
||||
[0.4431 rgb <0.7059, 0.5804, 0.3765> ]
|
||||
[0.4471 rgb <0.7059, 0.5804, 0.4392> ]
|
||||
[0.4510 rgb <0.7059, 0.6118, 0.4392> ]
|
||||
[0.4549 rgb <0.7059, 0.6431, 0.4706> ]
|
||||
[0.4588 rgb <0.7373, 0.4078, 0.3451> ]
|
||||
[0.4627 rgb <0.7373, 0.4706, 0.3765> ]
|
||||
[0.4667 rgb <0.7373, 0.5020, 0.3451> ]
|
||||
[0.4706 rgb <0.7373, 0.5020, 0.4078> ]
|
||||
[0.4745 rgb <0.7373, 0.5020, 0.4392> ]
|
||||
[0.4784 rgb <0.7373, 0.5020, 0.4706> ]
|
||||
[0.4824 rgb <0.7373, 0.5804, 0.3451> ]
|
||||
[0.4863 rgb <0.7373, 0.5804, 0.4078> ]
|
||||
[0.4902 rgb <0.7373, 0.5804, 0.4392> ]
|
||||
[0.4941 rgb <0.7373, 0.5804, 0.4706> ]
|
||||
[0.4980 rgb <0.7373, 0.5804, 0.5020> ]
|
||||
[0.5020 rgb <0.7373, 0.6118, 0.3765> ]
|
||||
[0.5059 rgb <0.7373, 0.6118, 0.4392> ]
|
||||
[0.5098 rgb <0.7373, 0.6118, 0.4706> ]
|
||||
[0.5137 rgb <0.7373, 0.6118, 0.5020> ]
|
||||
[0.5176 rgb <0.7373, 0.6118, 0.5333> ]
|
||||
[0.5216 rgb <0.7373, 0.6431, 0.4078> ]
|
||||
[0.5255 rgb <0.7373, 0.6431, 0.4706> ]
|
||||
[0.5294 rgb <0.7373, 0.6431, 0.5020> ]
|
||||
[0.5333 rgb <0.7373, 0.6431, 0.5333> ]
|
||||
[0.5373 rgb <0.7373, 0.6745, 0.4392> ]
|
||||
[0.5412 rgb <0.7373, 0.6745, 0.5020> ]
|
||||
[0.5451 rgb <0.7373, 0.6745, 0.5333> ]
|
||||
[0.5490 rgb <0.7373, 0.6745, 0.5804> ]
|
||||
[0.5529 rgb <0.7373, 0.7373, 0.5804> ]
|
||||
[0.5569 rgb <0.7686, 0.4706, 0.3765> ]
|
||||
[0.5608 rgb <0.7686, 0.5020, 0.3765> ]
|
||||
[0.5647 rgb <0.7686, 0.5020, 0.4392> ]
|
||||
[0.5686 rgb <0.7686, 0.5333, 0.4706> ]
|
||||
[0.5725 rgb <0.7686, 0.5804, 0.4392> ]
|
||||
[0.5765 rgb <0.8000, 0.5020, 0.3765> ]
|
||||
[0.5804 rgb <0.8000, 0.5020, 0.4392> ]
|
||||
[0.5843 rgb <0.8000, 0.5804, 0.4392> ]
|
||||
[0.5882 rgb <0.8000, 0.5804, 0.5020> ]
|
||||
[0.5922 rgb <0.8000, 0.6118, 0.4078> ]
|
||||
[0.5961 rgb <0.8000, 0.6118, 0.4706> ]
|
||||
[0.6000 rgb <0.8000, 0.6118, 0.5020> ]
|
||||
[0.6039 rgb <0.8000, 0.6431, 0.5020> ]
|
||||
[0.6078 rgb <0.8000, 0.6431, 0.5333> ]
|
||||
[0.6118 rgb <0.8000, 0.6745, 0.4392> ]
|
||||
[0.6157 rgb <0.8000, 0.6745, 0.5020> ]
|
||||
[0.6196 rgb <0.8000, 0.6745, 0.5333> ]
|
||||
[0.6235 rgb <0.8000, 0.6745, 0.5804> ]
|
||||
[0.6275 rgb <0.8000, 0.6745, 0.6118> ]
|
||||
[0.6314 rgb <0.8000, 0.7059, 0.4392> ]
|
||||
[0.6353 rgb <0.8000, 0.7059, 0.5020> ]
|
||||
[0.6392 rgb <0.8000, 0.7059, 0.5333> ]
|
||||
[0.6431 rgb <0.8000, 0.7059, 0.5804> ]
|
||||
[0.6471 rgb <0.8000, 0.7059, 0.6118> ]
|
||||
[0.6510 rgb <0.8000, 0.7373, 0.5020> ]
|
||||
[0.6549 rgb <0.8000, 0.7373, 0.6118> ]
|
||||
[0.6588 rgb <0.8314, 0.5020, 0.4392> ]
|
||||
[0.6627 rgb <0.8314, 0.5804, 0.4392> ]
|
||||
[0.6667 rgb <0.8314, 0.5804, 0.5020> ]
|
||||
[0.6706 rgb <0.8314, 0.6118, 0.4392> ]
|
||||
[0.6745 rgb <0.8314, 0.6431, 0.5020> ]
|
||||
[0.6784 rgb <0.8314, 0.6431, 0.5333> ]
|
||||
[0.6824 rgb <0.8314, 0.6745, 0.5333> ]
|
||||
[0.6863 rgb <0.8314, 0.7373, 0.4706> ]
|
||||
[0.6902 rgb <0.8314, 0.7373, 0.5333> ]
|
||||
[0.6941 rgb <0.8314, 0.7373, 0.6118> ]
|
||||
[0.6980 rgb <0.8314, 0.7373, 0.6431> ]
|
||||
[0.7020 rgb <0.8314, 0.7686, 0.5333> ]
|
||||
[0.7059 rgb <0.8314, 0.7686, 0.6118> ]
|
||||
[0.7098 rgb <0.8314, 0.7686, 0.6431> ]
|
||||
[0.7137 rgb <0.8314, 0.8000, 0.5333> ]
|
||||
[0.7176 rgb <0.8314, 0.8000, 0.6431> ]
|
||||
[0.7216 rgb <0.8314, 0.8314, 0.6431> ]
|
||||
[0.7255 rgb <0.8627, 0.5804, 0.4392> ]
|
||||
[0.7294 rgb <0.8627, 0.6118, 0.4706> ]
|
||||
[0.7333 rgb <0.8627, 0.6118, 0.5333> ]
|
||||
[0.7373 rgb <0.8627, 0.6745, 0.5020> ]
|
||||
[0.7412 rgb <0.8627, 0.6745, 0.5804> ]
|
||||
[0.7451 rgb <0.8627, 0.7059, 0.5020> ]
|
||||
[0.7490 rgb <0.8627, 0.7059, 0.5804> ]
|
||||
[0.7529 rgb <0.8627, 0.7059, 0.6118> ]
|
||||
[0.7569 rgb <0.8627, 0.7373, 0.5333> ]
|
||||
[0.7608 rgb <0.8627, 0.8627, 0.6745> ]
|
||||
[0.7647 rgb <0.8627, 0.9255, 0.7686> ]
|
||||
[0.7686 rgb <0.8941, 0.6118, 0.4706> ]
|
||||
[0.7725 rgb <0.8941, 0.6118, 0.5333> ]
|
||||
[0.7765 rgb <0.8941, 0.6745, 0.5020> ]
|
||||
[0.7804 rgb <0.8941, 0.6745, 0.5804> ]
|
||||
[0.7843 rgb <0.8941, 0.7059, 0.6118> ]
|
||||
[0.7882 rgb <0.8941, 0.7373, 0.5020> ]
|
||||
[0.7922 rgb <0.8941, 0.7373, 0.5804> ]
|
||||
[0.7961 rgb <0.8941, 0.7373, 0.6431> ]
|
||||
[0.8000 rgb <0.8941, 0.7686, 0.5333> ]
|
||||
[0.8039 rgb <0.8941, 0.7686, 0.6118> ]
|
||||
[0.8078 rgb <0.8941, 0.7686, 0.6431> ]
|
||||
[0.8118 rgb <0.8941, 0.8000, 0.6431> ]
|
||||
[0.8157 rgb <0.8941, 0.8314, 0.6118> ]
|
||||
[0.8196 rgb <0.8941, 0.8314, 0.6745> ]
|
||||
[0.8235 rgb <0.9255, 0.6745, 0.5020> ]
|
||||
[0.8275 rgb <0.9255, 0.6745, 0.5804> ]
|
||||
[0.8314 rgb <0.9255, 0.6745, 0.6118> ]
|
||||
[0.8353 rgb <0.9255, 0.7373, 0.5804> ]
|
||||
[0.8392 rgb <0.9255, 0.7373, 0.6431> ]
|
||||
[0.8431 rgb <0.9255, 0.7686, 0.5804> ]
|
||||
[0.8471 rgb <0.9255, 0.7686, 0.6431> ]
|
||||
[0.8510 rgb <0.9255, 0.8000, 0.6431> ]
|
||||
[0.8549 rgb <0.9255, 0.8000, 0.6745> ]
|
||||
[0.8588 rgb <0.9255, 0.8314, 0.6118> ]
|
||||
[0.8627 rgb <0.9255, 0.8314, 0.6745> ]
|
||||
[0.8667 rgb <0.9255, 0.8314, 0.7059> ]
|
||||
[0.8706 rgb <0.9255, 0.8314, 0.7373> ]
|
||||
[0.8745 rgb <0.9255, 0.8627, 0.6431> ]
|
||||
[0.8784 rgb <0.9255, 0.8627, 0.7059> ]
|
||||
[0.8824 rgb <0.9255, 0.8627, 0.7373> ]
|
||||
[0.8863 rgb <0.9255, 0.9255, 0.7686> ]
|
||||
[0.8902 rgb <0.9569, 0.7373, 0.6431> ]
|
||||
[0.8941 rgb <0.9569, 0.7686, 0.5804> ]
|
||||
[0.8980 rgb <0.9569, 0.7686, 0.6745> ]
|
||||
[0.9020 rgb <0.9569, 0.8000, 0.6745> ]
|
||||
[0.9059 rgb <0.9569, 0.8000, 0.7059> ]
|
||||
[0.9098 rgb <0.9569, 0.8941, 0.7059> ]
|
||||
[0.9137 rgb <0.9569, 0.9255, 0.8000> ]
|
||||
[0.9176 rgb <0.9882, 0.8314, 0.6745> ]
|
||||
[0.9216 rgb <0.9882, 0.8314, 0.7373> ]
|
||||
[0.9255 rgb <0.9882, 0.8627, 0.6745> ]
|
||||
[0.9294 rgb <0.9882, 0.8627, 0.7373> ]
|
||||
[0.9333 rgb <0.9882, 0.8941, 0.6745> ]
|
||||
[0.9373 rgb <0.9882, 0.8941, 0.7373> ]
|
||||
[0.9412 rgb <0.9882, 0.8941, 0.7686> ]
|
||||
[0.9451 rgb <0.9882, 0.8941, 0.8000> ]
|
||||
[0.9490 rgb <0.9882, 0.9255, 0.6745> ]
|
||||
[0.9529 rgb <0.9882, 0.9255, 0.7373> ]
|
||||
[0.9569 rgb <0.9882, 0.9255, 0.7686> ]
|
||||
[0.9608 rgb <0.9882, 0.9255, 0.8000> ]
|
||||
[0.9647 rgb <0.9882, 0.9255, 0.8314> ]
|
||||
[0.9686 rgb <0.9882, 0.9569, 0.7373> ]
|
||||
[0.9725 rgb <0.9882, 0.9569, 0.8000> ]
|
||||
[0.9765 rgb <0.9882, 0.9569, 0.8314> ]
|
||||
[0.9804 rgb <0.9882, 0.9569, 0.8627> ]
|
||||
[0.9843 rgb <0.9882, 0.9882, 0.7373> ]
|
||||
[0.9882 rgb <0.9882, 0.9882, 0.8000> ]
|
||||
[0.9922 rgb <0.9882, 0.9882, 0.8314> ]
|
||||
[0.9961 rgb <0.9882, 0.9882, 0.8627> ]
|
||||
}
|
||||
#version Cedar_Inc_Temp;
|
||||
673
distribution/include/chars.inc
Normal file
|
|
@ -0,0 +1,673 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: chars.inc
|
||||
// Last updated: 2001.7.21
|
||||
// Description: This file contains letters as objects.
|
||||
|
||||
#ifndef(Chars_Inc_Temp)
|
||||
#declare Chars_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
# debug "including chars.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
|
||||
Characters for POV-Ray Version 3.1
|
||||
Original by Ken Maeno 1992-93
|
||||
Revised and extended by Chris Young
|
||||
Revised for internal web removal by John Andersen
|
||||
|
||||
This file includes 26 upper-case letter and other characters defined
|
||||
as objects. The size of all characters is 4 * 5 * 1. The center of the
|
||||
bottom side of a character face is set to the origin, so please
|
||||
translate a character appropriately before rotating it about
|
||||
the x or z axes.
|
||||
|
||||
Usage:
|
||||
|
||||
object{
|
||||
char_A
|
||||
pigment{ color Red }
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
#declare char_A =
|
||||
intersection {
|
||||
box{<-2,0,-0.1>,<2,5,1.1>}
|
||||
union {
|
||||
box{<-0.5,-6,0>,<0.5,0,1> rotate z*16.699 }
|
||||
box{<-0.5,-6,0>,<0.5,0,1> rotate -z*16.699 }
|
||||
box{<-1, -4,0>,<1, -3,1> }
|
||||
translate y*5
|
||||
}
|
||||
bounded_by{ box { <-2,0,0>,<2,5,1> } }
|
||||
}
|
||||
|
||||
#declare char_P =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate<0.5, 3.5, 0>
|
||||
}
|
||||
box{ <-1.001, 4, 0>, <0.501, 5, 1> }
|
||||
box{ <-1.001, 2, 0>, <0.501, 3, 1> }
|
||||
box{ <-2, 0, 0>, <-1, 5, 1 > }
|
||||
}
|
||||
|
||||
#declare char_B =
|
||||
union {
|
||||
object{char_P}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate<0.5, 1.5, 0>
|
||||
}
|
||||
box{ <-1.001, 0, 0>, <0.501, 1, 1> }
|
||||
}
|
||||
|
||||
#declare char_C =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,2}
|
||||
cylinder{-z,2*z,1}
|
||||
plane{y,0}
|
||||
bounded_by{ box { <-2,0,0>, <2,2,1> } }
|
||||
translate 3*y
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,2}
|
||||
cylinder{-z,2*z,1}
|
||||
plane{-y,0}
|
||||
bounded_by{ box { <-2,-2,0>, <2,0,1> } }
|
||||
translate 2*y
|
||||
}
|
||||
box{ <-2,1.999,0>,<-1,3.001,1> }
|
||||
}
|
||||
|
||||
#declare char_D =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,2.5}
|
||||
cylinder{-z,2*z,1.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-2.5,0>, <2.5,2.5,1> } }
|
||||
translate <-0.5,2.5,0>
|
||||
}
|
||||
box{ <-1.001,4,0>,<-0.499,5,1> }
|
||||
box{ <-1.001,0,0>,<-0.499,1,1> }
|
||||
box{ <-2,0,0>,<-1,5,1> }
|
||||
}
|
||||
|
||||
#declare char_F =
|
||||
union {
|
||||
box{ <-2,0,0>,<-1,5,1> }
|
||||
box{ <-1.001,2,0>,<1.5,3,1> }
|
||||
box{ <-1.001,4,0>,<2,5,1> }
|
||||
}
|
||||
|
||||
#declare char_E =
|
||||
union {
|
||||
object{char_F}
|
||||
box{ <-1.001,0,0>,<2,1,1> }
|
||||
}
|
||||
|
||||
#declare char_G =
|
||||
union {
|
||||
object{char_C}
|
||||
box{ < 0,1.5,0>,<2,2.3,1> }
|
||||
}
|
||||
|
||||
#declare char_H =
|
||||
union {
|
||||
box{ <-2,0,0>,<-1,5,1> }
|
||||
box{ < 1,0,0>,< 2,5,1> }
|
||||
box{ <-1.001,2,0>,< 1.001,3,1> }
|
||||
}
|
||||
|
||||
#declare char_I =
|
||||
box{ <-0.5,0,0>,<0.5,5,1> }
|
||||
|
||||
#declare char_J =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,2}
|
||||
cylinder{-z,2*z,1}
|
||||
plane{-y,0}
|
||||
bounded_by{ box { <-2,-2,0>, <2,0,1> } }
|
||||
translate 2*y
|
||||
}
|
||||
box{ <1,1.999,0>,<2,5,1> }
|
||||
}
|
||||
|
||||
#declare char_K =
|
||||
union {
|
||||
intersection {
|
||||
union {
|
||||
box{ <0,-2,0>,<0.9,5,1> rotate z*45 translate x*0.7272 }
|
||||
box{ <0,-5,0>,<0.9,2,1> rotate -z*45 translate <0.7272,5,0> }
|
||||
}
|
||||
box { <-1,0,-0.1>,<2,5,1.1> }
|
||||
bounded_by{ box { <-2,0,0>,<2,5,1> } }
|
||||
}
|
||||
box { <-2,0,0>,<-1,5,1> }
|
||||
}
|
||||
|
||||
#declare char_L =
|
||||
union {
|
||||
box{ <-2,1,0>,<-1,5,1> }
|
||||
box{ <-2.001,0,0>,<2,1,1> }
|
||||
}
|
||||
|
||||
#declare char_M =
|
||||
union {
|
||||
intersection{
|
||||
union {
|
||||
box{<-0.5,-1,0>,<0.5,5,1> rotate z*26.5651}
|
||||
box{<-0.5,-1,0>,<0.5,5,1> rotate -z*26.5651}
|
||||
}
|
||||
box{<-1,0,-0.1>,<1,3,1.1>}
|
||||
bounded_by{box{<-2,0,0>,<2,4,1>}}
|
||||
translate y*2
|
||||
}
|
||||
box{ <-2,0,0>,<-1,5,1> }
|
||||
box{ < 1,0,0>,< 2,5,1> }
|
||||
}
|
||||
|
||||
#declare char_N =
|
||||
union {
|
||||
intersection{
|
||||
box{ <0,0,0>,<1,6,1> rotate z*32.5031 translate x}
|
||||
box{ <-1,0,-0.1>,<1,5,1.1> }
|
||||
bounded_by{box{ <-1,0,0>,<1,5,1> } }
|
||||
}
|
||||
box{ <-2,0,0>,<-1,5,1> }
|
||||
box{ <1,0,0>,<2,5,1> }
|
||||
}
|
||||
|
||||
#declare char_O =
|
||||
union {
|
||||
object {char_C}
|
||||
box{ <1,1.999,0>,<2,3.001,1> }
|
||||
}
|
||||
|
||||
#declare char_Q =
|
||||
union {
|
||||
object {char_O}
|
||||
box{ <0,0,0>,<1,2.2,1> rotate z*45 translate x*1.29289}
|
||||
}
|
||||
|
||||
#declare char_R =
|
||||
union {
|
||||
object {char_P}
|
||||
intersection {
|
||||
box{ <0,-2,0>,<1,5,1> rotate z*36.8699 translate x}
|
||||
box{ <-1,0,-0.1>,<2,2,1.1> }
|
||||
bounded_by{box{ <-1,0,0>,<2,2,1> }}
|
||||
}
|
||||
}
|
||||
|
||||
#declare char_S =
|
||||
union {
|
||||
intersection{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5 inverse}
|
||||
box{<0,0,-0.1>,<1.5,1.5,1.1>}
|
||||
bounded_by{ box { <0,0,0>, <1.5, 1.5, 1> } }
|
||||
translate <0.5,3.5,0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate<0.5, 1.5, 0>
|
||||
}
|
||||
intersection{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5 inverse}
|
||||
box{<-1.5,-1.5,-0.1>,<0,0,1.1>}
|
||||
bounded_by{ box { <-1.5,-1.5,0>, <0, 0, 1> } }
|
||||
translate <-0.5,1.5,0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{-x,0}
|
||||
bounded_by{ box { <-1.5,-1.5,0>, <0, 1.5, 1> } }
|
||||
translate<-0.5, 3.5, 0>
|
||||
}
|
||||
box{ <-0.502,4,0>,<0.502,5,1> }
|
||||
box{ <-0.502,2,0>,<0.502,3,1> }
|
||||
box{ <-0.502,0,0>,<0.502,1,1> }
|
||||
}
|
||||
|
||||
#declare char_T =
|
||||
union{
|
||||
box{ <-0.5,0,0>,<0.5,4,1> }
|
||||
box{ <-2, 4,0>,< 2,5,1> }
|
||||
}
|
||||
|
||||
#declare char_U =
|
||||
union {
|
||||
object{char_J}
|
||||
box{ <-2,1.998,0>,<-1,5,1> }
|
||||
}
|
||||
|
||||
#declare char_V =
|
||||
intersection {
|
||||
box{<-2,0,-0.1>,<2,5,1.1>}
|
||||
union {
|
||||
box{<-0.5,-1,0>,<0.5,6,1> rotate z*16.699 }
|
||||
box{<-0.5,-1,0>,<0.5,6,1> rotate -z*16.699 }
|
||||
}
|
||||
bounded_by{ box { <-2,0,0>,<2,5,1> } }
|
||||
}
|
||||
|
||||
#declare char_W =
|
||||
union {
|
||||
intersection{
|
||||
union {
|
||||
box{<-0.5,-5,0>,<0.5,0,1> rotate z*26.5651}
|
||||
box{<-0.5,-5,0>,<0.5,0,1> rotate -z*26.5651}
|
||||
translate 3*y
|
||||
}
|
||||
box{<-1,0,-0.1>,<1,3,1.1>}
|
||||
bounded_by{box{<-1,0,0>,<2,3,1>}}
|
||||
}
|
||||
box{ <-2,0,0>,<-1,5,1> }
|
||||
box{ < 1,0,0>,< 2,5,1> }
|
||||
}
|
||||
|
||||
#declare char_X =
|
||||
intersection {
|
||||
box{<-2,0,-0.1>,<2,5,1.1>}
|
||||
union {
|
||||
box{<-0.5,-3.5,0>,<0.5,3.5,1> rotate z*30.9}
|
||||
box{<-0.5,-3.5,0>,<0.5,3.5,1> rotate -z*30.9}
|
||||
translate 2.5*y
|
||||
}
|
||||
bounded_by{ box { <-2,0,0>,<2,5,1> } }
|
||||
}
|
||||
|
||||
#declare char_Y =
|
||||
union {
|
||||
intersection {
|
||||
box{<-2,2,-0.1>,<2,5,1.1>}
|
||||
union {
|
||||
box{<-0.5,0,0>,<0.5,3.5,1> rotate z*30.9}
|
||||
box{<-0.5,0,0>,<0.5,3.5,1> rotate -z*30.9}
|
||||
translate 2.5*y
|
||||
}
|
||||
bounded_by{ box { <-2,2,0>,<2,5,1> } }
|
||||
}
|
||||
box {<-0.5,0,0>,<0.5,3,1>}
|
||||
}
|
||||
|
||||
#declare char_Z =
|
||||
union {
|
||||
intersection{
|
||||
box{ <0,0,0>,<1,7,1> rotate z*-29.6749 translate -2*x}
|
||||
box{<-2,0,-0.1>,<2,5,1.1>}
|
||||
bounded_by{ box { <-2,0,0>,<2,5,1> } }
|
||||
}
|
||||
box{ <-2,4,0>,<1.2,5,1> }
|
||||
box{ <-1.2,0,0>,<2,1,1> }
|
||||
}
|
||||
|
||||
#declare char_Dash =
|
||||
box{ <-2,2,0>,<2,3,1> }
|
||||
|
||||
#declare char_Plus =
|
||||
union{
|
||||
box{ <-2,2,0>,<2,3,1> }
|
||||
box{ <-0.5,0.5,0>,<0.5,4.5,1> }
|
||||
}
|
||||
|
||||
#declare char_0 = object{char_O}
|
||||
|
||||
#declare char_1 =
|
||||
union{
|
||||
object{char_I}
|
||||
box{ <0,-1.25,0>,<1,0,1> rotate -z*45 translate <-0.5,5,0>}
|
||||
box{ <-1,0,0>,<1,1,1> }
|
||||
}
|
||||
|
||||
#declare char_2 =
|
||||
union{
|
||||
intersection{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5 inverse}
|
||||
box{<-1.5,0,-0.1>,<0,1.5,1.1>}
|
||||
bounded_by{ box { <-1.5,0,0>, <0, 1.5, 1> } }
|
||||
translate<-0.5, 3.5, 0>
|
||||
}
|
||||
intersection{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5 inverse}
|
||||
plane{-x,0 }
|
||||
plane{-y,0 rotate -z*54 }
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate <0.5,3.5,0>
|
||||
}
|
||||
box{<-0.501,4,0>,<0.501,5,1>}
|
||||
box{<-2,0,0>,<2,1,1>}
|
||||
box{<-0.999,0.5,0>,<3.5,1.5,1> rotate -z*(90+54) translate <0.5,3.5,0>}
|
||||
}
|
||||
|
||||
#declare char_3 =
|
||||
union {
|
||||
intersection{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5 inverse}
|
||||
box{<-1.5,0,-0.1>,<0,1.5,1.1>}
|
||||
bounded_by{ box { <-1.5,0,0>, <0, 1.5, 1> } }
|
||||
translate<-0.5, 3.5, 0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate<0.5, 3.5, 0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate<0.5, 1.5, 0>
|
||||
}
|
||||
intersection{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5 inverse}
|
||||
box{<-1.5,-1.5,-0.1>,<0,0,1.1>}
|
||||
bounded_by{ box { <-1.5,-1.5,0>, <0, 0, 1> } }
|
||||
translate <-0.5,1.5,0>
|
||||
}
|
||||
box{ <-0.501,4,0>,<0.501,5,1> }
|
||||
box{ <-0.5,2,0>,<0.501,3,1> }
|
||||
box{ <-0.501,0,0>,<0.501,1,1> }
|
||||
}
|
||||
|
||||
#declare char_4 =
|
||||
union {
|
||||
box {<0,0,0>,<1,5,1>}
|
||||
box {<-2,1,0>,<2,2,1>}
|
||||
box {<0,-1,0>,<3.6,0,1> rotate z*56.31 translate <-2,2,0>}
|
||||
}
|
||||
|
||||
#declare char_5 =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate<0.5, 1.5, 0>
|
||||
}
|
||||
intersection{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5 inverse}
|
||||
box{<-1.5,-1.5,-0.1>,<0,0,1.1>}
|
||||
bounded_by{ box { <-1.5,-1.5,0>, <0, 0, 1> } }
|
||||
translate <-0.5,1.5,0>
|
||||
}
|
||||
box{ <-1.001,4,0>,<2,5,1> }
|
||||
box{ <-2,2,0>,<-1,5,1> }
|
||||
box{ <-1.001,2,0>,<0.501,3,1> }
|
||||
box{ <-0.501,0,0>,<0.501,1,1> }
|
||||
}
|
||||
|
||||
#declare char_6 =
|
||||
union {
|
||||
intersection{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5 inverse}
|
||||
box{<0,0,-0.1>,<1.5,1.5,1.1>}
|
||||
bounded_by{ box { <0,0,0>, <1.5, 1.5, 1> } }
|
||||
translate <0.5,3.5,0>
|
||||
}
|
||||
intersection{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5 inverse}
|
||||
box{<-1.5,0,-0.1>,<0,1.5,1.1>}
|
||||
bounded_by{ box { <-1.5,0,0>, <0,1.5,1> } }
|
||||
translate<-0.5, 3.5, 0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate<0.5, 1.5, 0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{-x,0}
|
||||
bounded_by{ box { <-1.5,-1.5,0>, <0, 1.5, 1> } }
|
||||
translate <-0.5,1.5,0>
|
||||
}
|
||||
box{ <-0.501,4,0>,<0.501,5,1> }
|
||||
box{ <-2,1.5,0>,<-1,3.501,1> }
|
||||
box{ <-0.501,2,0>,<0.501,3,1> }
|
||||
box{ <-0.501,0,0>,<0.501,1,1> }
|
||||
}
|
||||
|
||||
#declare char_7 =
|
||||
union{
|
||||
box{ <-2, 4,0>,< 2,5,1> }
|
||||
intersection {
|
||||
box{ <-1,-1,0>,<0,4.272,1> rotate -z*20.556 translate x/2}
|
||||
box{<-0.5,0,-0.1>,<2,4.5,1.1>}
|
||||
bounded_by{box{<-0.5,0,-0>,<2,4.5,1>}}
|
||||
}
|
||||
}
|
||||
|
||||
#declare char_8 =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{-x,0}
|
||||
bounded_by{ box { <-1.5,-1.5,0>, <0, 1.5, 1> } }
|
||||
translate<-0.5, 3.5, 0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate<0.5, 3.5, 0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
|
||||
translate<0.5, 1.5, 0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.5}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{-x,0}
|
||||
bounded_by{ box { <-1.5,-1.5,0>, <0, 1.5, 1> } }
|
||||
translate <-0.5,1.5,0>
|
||||
}
|
||||
box{ <-0.501,4,0>,<0.501,5,1> }
|
||||
box{ <-0.501,2,0>,<0.501,3,1> }
|
||||
box{ <-0.501,0,0>,<0.501,1,1> }
|
||||
}
|
||||
|
||||
#declare char_9 =
|
||||
object{char_6 translate -2.5*y rotate z*180 translate 2.5*y}
|
||||
|
||||
#declare char_ExclPt=
|
||||
union {
|
||||
cylinder {<0,4.5,0>,<0,4.5,1>,0.5}
|
||||
cylinder {<0,0.5,0>,<0,0.5,1>,0.5}
|
||||
intersection {
|
||||
box{<-0.5,-3,0>,<0.5,0,1> rotate z*9.5}
|
||||
box{<-0.5,-3,-0.1>,<0.5,0,1.1> rotate -z*9.5 }
|
||||
bounded_by{box{<-0.5,-3,0>,<0.5,0,1> }}
|
||||
translate y*4.5
|
||||
}
|
||||
}
|
||||
|
||||
#declare char_AtSign =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,2}
|
||||
cylinder{-z,2*z,1.5}
|
||||
box { <0,-1.25,-0.1>, <2.5,0,1.1> }
|
||||
bounded_by{ box { <-2,-2,0>, <2,2,1> } }
|
||||
translate 2.5*y
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,0.75}
|
||||
cylinder{-z,2*z,0.25}
|
||||
plane{-y,0}
|
||||
bounded_by{ box { <-2,-2,0>, <2,0,1> } }
|
||||
translate <1.25,2.5,0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1}
|
||||
cylinder{-z,2*z,0.5}
|
||||
bounded_by{ box { <-1,-1,0>, <1,1,1> } }
|
||||
translate 2.5*y
|
||||
}
|
||||
}
|
||||
|
||||
#declare char_Num =
|
||||
union {
|
||||
box{ <-0.5,-2,0>,<0.5,2,1> rotate -10*z translate <-1,2.5,0>}
|
||||
box{ <-0.5,-2,0>,<0.5,2,1> rotate -10*z translate < 1,2.5,0>}
|
||||
box{ <-1.5,3,0>,< 2,4,1> }
|
||||
box{ <-2,1,0>,< 1.5,2,1> }
|
||||
}
|
||||
|
||||
#declare char_Dol =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,1.25}
|
||||
cylinder{-z,2*z,0.25}
|
||||
plane{x,0}
|
||||
bounded_by{ box { <0,-1.25,0>, <1.25, 1.25, 1> } }
|
||||
translate<0.75, 1.75, 0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.25}
|
||||
cylinder{-z,2*z,0.25}
|
||||
plane{-x,0}
|
||||
bounded_by{ box { <-1.25,-1.25,0>, <0, 1.25, 1> } }
|
||||
translate<-0.75, 3.25, 0>
|
||||
}
|
||||
box{ <-0.751,3.5,0>,<2,4.5,1> }
|
||||
box{ <-0.751,2,0>,<0.751,3,1> }
|
||||
box{ <-2,0.5,0>,<0.751,1.5,1> }
|
||||
box{ <-0.5,0,0>,<0.5,5,1> }
|
||||
}
|
||||
|
||||
#declare char_Perc =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,1}
|
||||
cylinder{-z,2*z,0.25}
|
||||
bounded_by{ box { <-1,-1,0>, <1, 1, 1> } }
|
||||
translate<1, 1, 0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1}
|
||||
cylinder{-z,2*z,0.25}
|
||||
bounded_by{ box { <-1,-1,0>, <1, 1, 1> } }
|
||||
translate<-1, 4, 0>
|
||||
}
|
||||
box{ <-0.25,-2.8,0>,<0.25,2.8,1> rotate -33*z translate 2.5*y}
|
||||
}
|
||||
|
||||
#declare char_Hat =
|
||||
intersection {
|
||||
union {
|
||||
box{ <0,0,0>,<1,3,1> rotate -33*z translate <-2,1.5,0>}
|
||||
box{ <-1,0,0>,<0,3,1> rotate 33*z translate < 2,1.5,0>}
|
||||
}
|
||||
box {<-2.1,1.5,-0.1>,<2.1,3.75,1.1>}
|
||||
bounded_by{box {<-2.1,1.5,0>,<2.1,3.75,1>}}
|
||||
}
|
||||
|
||||
#declare char_Amps =
|
||||
union {
|
||||
difference{
|
||||
cylinder{0*z,z,1.25}
|
||||
cylinder{-z,2*z,0.5}
|
||||
bounded_by{ box { <-1.25,-1.25,0>, <1.25, 1.25, 1> } }
|
||||
translate <-0.25,3.75,0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.75}
|
||||
cylinder{-z,2*z,0.75}
|
||||
bounded_by{ box { <-1.75,-1.75,0>, <1.75, 1.75, 1> } }
|
||||
translate <-0.25,1.75,0>
|
||||
}
|
||||
difference{
|
||||
cylinder{0*z,z,1.25}
|
||||
cylinder{-z,2*z,0.5}
|
||||
plane{-x,0}
|
||||
bounded_by{ box { <-1.25,-1.25,0>, <0, 1.25, 1> } }
|
||||
translate <2,1.75,0>
|
||||
}
|
||||
}
|
||||
|
||||
#declare char_Astr =
|
||||
union {
|
||||
box{ <-0.5,-2,0>,<0.5,2,1> }
|
||||
box{ <-0.5,-2,0>,<0.5,2,1> rotate 60*z}
|
||||
box{ <-0.5,-2,0>,<0.5,2,1> rotate -60*z}
|
||||
translate 2.5*y
|
||||
}
|
||||
|
||||
#declare char_LPar =
|
||||
intersection{
|
||||
cylinder{<7,2.5,0>,<7,2.5,1>, 7.5}
|
||||
cylinder{<7,2.5,-0.1>,<7,2.5,1.1>, 6.5 inverse}
|
||||
box{<-2,0,-0.1>,<2,5,1.1>}
|
||||
bounded_by{box{<-1,0,0>,<1,5,1>}}
|
||||
}
|
||||
|
||||
#declare char_RPar =
|
||||
intersection{
|
||||
cylinder{<-7,2.5,0>,<-7,2.5,1>, 7.5}
|
||||
cylinder{<-7,2.5,-0.1>,<-7,2.5,1.1>, 6.5 inverse}
|
||||
box{<-2,0,-0.1>,<2,5,1.1>}
|
||||
bounded_by{box{<-1,0,0>,<1,5,1>}}
|
||||
}
|
||||
|
||||
#declare char_LSqu =
|
||||
union {
|
||||
box{<-1,0,0>,<0,5,1>}
|
||||
box{<-0.001,0,0>,<1,1,1>}
|
||||
box{<-0.001,4,0>,<1,5,1>}
|
||||
}
|
||||
|
||||
#declare char_RSqu =
|
||||
union {
|
||||
box{<0,0,0>,<1,5,1>}
|
||||
box{<-1,0,0>,<0.001,1,1>}
|
||||
box{<-1,4,0>,<0.001,5,1>}
|
||||
}
|
||||
|
||||
|
||||
// End of CHARS.INC
|
||||
#version Chars_Inc_Temp;
|
||||
#end
|
||||
275
distribution/include/colors.inc
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: colors.inc
|
||||
// Last updated: 2012.5.23
|
||||
// Description: This file contains pre-defined colors and color-manipulation macros.
|
||||
|
||||
#ifndef(Colors_Inc_Temp)
|
||||
|
||||
#declare Colors_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including colors.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.5
|
||||
Many pre-defined colors for use in scene files.
|
||||
*/
|
||||
// COLORS:
|
||||
#declare Red = rgb <1, 0, 0>;
|
||||
#declare Green = rgb <0, 1, 0>;
|
||||
#declare Blue = rgb <0, 0, 1>;
|
||||
#declare Yellow = rgb <1,1,0>;
|
||||
#declare Cyan = rgb <0, 1, 1>;
|
||||
#declare Magenta = rgb <1, 0, 1>;
|
||||
#declare Clear = rgbf 1;
|
||||
#declare White = rgb 1;
|
||||
#declare Black = rgb 0;
|
||||
|
||||
// These grays are useful for fine-tuning lighting color values
|
||||
// and for other areas where subtle variations of grays are needed.
|
||||
// PERCENTAGE GRAYS:
|
||||
#declare Gray05 = White*0.05;
|
||||
#declare Gray10 = White*0.10;
|
||||
#declare Gray15 = White*0.15;
|
||||
#declare Gray20 = White*0.20;
|
||||
#declare Gray25 = White*0.25;
|
||||
#declare Gray30 = White*0.30;
|
||||
#declare Gray35 = White*0.35;
|
||||
#declare Gray40 = White*0.40;
|
||||
#declare Gray45 = White*0.45;
|
||||
#declare Gray50 = White*0.50;
|
||||
#declare Gray55 = White*0.55;
|
||||
#declare Gray60 = White*0.60;
|
||||
#declare Gray65 = White*0.65;
|
||||
#declare Gray70 = White*0.70;
|
||||
#declare Gray75 = White*0.75;
|
||||
#declare Gray80 = White*0.80;
|
||||
#declare Gray85 = White*0.85;
|
||||
#declare Gray90 = White*0.90;
|
||||
#declare Gray95 = White*0.95;
|
||||
|
||||
// OTHER GRAYS
|
||||
#declare DimGray = color red 0.329412 green 0.329412 blue 0.329412;
|
||||
#declare DimGrey = color red 0.329412 green 0.329412 blue 0.329412;
|
||||
#declare Gray = color red 0.752941 green 0.752941 blue 0.752941;
|
||||
#declare Grey = color red 0.752941 green 0.752941 blue 0.752941;
|
||||
#declare LightGray = color red 0.658824 green 0.658824 blue 0.658824;
|
||||
#declare LightGrey = color red 0.658824 green 0.658824 blue 0.658824;
|
||||
#declare VLightGray = color red 0.80 green 0.80 blue 0.80;
|
||||
#declare VLightGrey = color red 0.80 green 0.80 blue 0.80;
|
||||
|
||||
#declare Aquamarine = color red 0.439216 green 0.858824 blue 0.576471;
|
||||
#declare BlueViolet = color red 0.62352 green 0.372549 blue 0.623529;
|
||||
#declare Brown = color red 0.647059 green 0.164706 blue 0.164706;
|
||||
#declare CadetBlue = color red 0.372549 green 0.623529 blue 0.623529;
|
||||
#declare Coral = color red 1.0 green 0.498039 blue 0.0;
|
||||
#declare CornflowerBlue = color red 0.258824 green 0.258824 blue 0.435294;
|
||||
#declare DarkGreen = color red 0.184314 green 0.309804 blue 0.184314;
|
||||
#declare DarkOliveGreen = color red 0.309804 green 0.309804 blue 0.184314;
|
||||
#declare DarkOrchid = color red 0.6 green 0.196078 blue 0.8;
|
||||
#declare DarkSlateBlue = color red 0.119608 green 0.137255 blue 0.556863;
|
||||
#declare DarkSlateGray = color red 0.184314 green 0.309804 blue 0.309804;
|
||||
#declare DarkSlateGrey = color red 0.184314 green 0.309804 blue 0.309804;
|
||||
#declare DarkTurquoise = color red 0.439216 green 0.576471 blue 0.858824;
|
||||
#declare Firebrick = color red 0.556863 green 0.137255 blue 0.137255;
|
||||
#declare ForestGreen = color red 0.137255 green 0.556863 blue 0.137255;
|
||||
#declare Gold = color red 0.8 green 0.498039 blue 0.196078;
|
||||
#declare Goldenrod = color red 0.858824 green 0.858824 blue 0.439216;
|
||||
#declare GreenYellow = color red 0.576471 green 0.858824 blue 0.439216;
|
||||
#declare IndianRed = color red 0.309804 green 0.184314 blue 0.184314;
|
||||
#declare Khaki = color red 0.623529 green 0.623529 blue 0.372549;
|
||||
#declare LightBlue = color red 0.74902 green 0.847059 blue 0.847059;
|
||||
#declare LightSteelBlue = color red 0.560784 green 0.560784 blue 0.737255;
|
||||
#declare LimeGreen = color red 0.196078 green 0.8 blue 0.196078;
|
||||
#declare Maroon = color red 0.556863 green 0.137255 blue 0.419608;
|
||||
#declare MediumAquamarine = color red 0.196078 green 0.8 blue 0.6;
|
||||
#declare MediumBlue = color red 0.196078 green 0.196078 blue 0.8;
|
||||
#declare MediumForestGreen = color red 0.419608 green 0.556863 blue 0.137255;
|
||||
#declare MediumGoldenrod = color red 0.917647 green 0.917647 blue 0.678431;
|
||||
#declare MediumOrchid = color red 0.576471 green 0.439216 blue 0.858824;
|
||||
#declare MediumSeaGreen = color red 0.258824 green 0.435294 blue 0.258824;
|
||||
#declare MediumSlateBlue = color red 0.498039 blue 1.0;
|
||||
#declare MediumSpringGreen = color red 0.498039 green 1.0;
|
||||
#declare MediumTurquoise = color red 0.439216 green 0.858824 blue 0.858824;
|
||||
#declare MediumVioletRed = color red 0.858824 green 0.439216 blue 0.576471;
|
||||
#declare MidnightBlue = color red 0.184314 green 0.184314 blue 0.309804;
|
||||
#declare Navy = color red 0.137255 green 0.137255 blue 0.556863;
|
||||
#declare NavyBlue = color red 0.137255 green 0.137255 blue 0.556863;
|
||||
#declare Orange = color red 1 green 0.5 blue 0.0;
|
||||
#declare OrangeRed = color red 1.0 green 0.25;
|
||||
#declare Orchid = color red 0.858824 green 0.439216 blue 0.858824;
|
||||
#declare PaleGreen = color red 0.560784 green 0.737255 blue 0.560784;
|
||||
#declare Pink = color red 0.737255 green 0.560784 blue 0.560784;
|
||||
#declare Plum = color red 0.917647 green 0.678431 blue 0.917647;
|
||||
#declare Salmon = color red 0.435294 green 0.258824 blue 0.258824;
|
||||
#declare SeaGreen = color red 0.137255 green 0.556863 blue 0.419608;
|
||||
#declare Sienna = color red 0.556863 green 0.419608 blue 0.137255;
|
||||
#declare SkyBlue = color red 0.196078 green 0.6 blue 0.8;
|
||||
#declare SlateBlue = color green 0.498039 blue 1.0;
|
||||
#declare SpringGreen = color green 1.0 blue 0.498039;
|
||||
#declare SteelBlue = color red 0.137255 green 0.419608 blue 0.556863;
|
||||
#declare Tan = color red 0.858824 green 0.576471 blue 0.439216;
|
||||
#declare Thistle = color red 0.847059 green 0.74902 blue 0.847059;
|
||||
#declare Turquoise = color red 0.678431 green 0.917647 blue 0.917647;
|
||||
#declare Violet = color red 0.309804 green 0.184314 blue 0.309804;
|
||||
#declare VioletRed = color red 0.8 green 0.196078 blue 0.6;
|
||||
#declare Wheat = color red 0.847059 green 0.847059 blue 0.74902;
|
||||
#declare YellowGreen = color red 0.6 green 0.8 blue 0.196078;
|
||||
#declare SummerSky = color red 0.22 green 0.69 blue 0.87;
|
||||
#declare RichBlue = color red 0.35 green 0.35 blue 0.67;
|
||||
#declare Brass = color red 0.71 green 0.65 blue 0.26;
|
||||
#declare Copper = color red 0.72 green 0.45 blue 0.20;
|
||||
#declare Bronze = color red 0.55 green 0.47 blue 0.14;
|
||||
#declare Bronze2 = color red 0.65 green 0.49 blue 0.24;
|
||||
#declare Silver = color red 0.90 green 0.91 blue 0.98;
|
||||
#declare BrightGold = color red 0.85 green 0.85 blue 0.10;
|
||||
#declare OldGold = color red 0.81 green 0.71 blue 0.23;
|
||||
#declare Feldspar = color red 0.82 green 0.57 blue 0.46;
|
||||
#declare Quartz = color red 0.85 green 0.85 blue 0.95;
|
||||
#declare Mica = color Black; // needed in textures.inc
|
||||
#declare NeonPink = color red 1.00 green 0.43 blue 0.78;
|
||||
#declare DarkPurple = color red 0.53 green 0.12 blue 0.47;
|
||||
#declare NeonBlue = color red 0.30 green 0.30 blue 1.00;
|
||||
#declare CoolCopper = color red 0.85 green 0.53 blue 0.10;
|
||||
#declare MandarinOrange = color red 0.89 green 0.47 blue 0.20;
|
||||
#declare LightWood = color red 0.91 green 0.76 blue 0.65;
|
||||
#declare MediumWood = color red 0.65 green 0.50 blue 0.39;
|
||||
#declare DarkWood = color red 0.52 green 0.37 blue 0.26;
|
||||
#declare SpicyPink = color red 1.00 green 0.11 blue 0.68;
|
||||
#declare SemiSweetChoc = color red 0.42 green 0.26 blue 0.15;
|
||||
#declare BakersChoc = color red 0.36 green 0.20 blue 0.09;
|
||||
#declare Flesh = color red 0.96 green 0.80 blue 0.69;
|
||||
#declare NewTan = color red 0.92 green 0.78 blue 0.62;
|
||||
#declare NewMidnightBlue = color red 0.00 green 0.00 blue 0.61;
|
||||
#declare VeryDarkBrown = color red 0.35 green 0.16 blue 0.14;
|
||||
#declare DarkBrown = color red 0.36 green 0.25 blue 0.20;
|
||||
#declare DarkTan = color red 0.59 green 0.41 blue 0.31;
|
||||
#declare GreenCopper = color red 0.32 green 0.49 blue 0.46;
|
||||
#declare DkGreenCopper = color red 0.29 green 0.46 blue 0.43;
|
||||
#declare DustyRose = color red 0.52 green 0.39 blue 0.39;
|
||||
#declare HuntersGreen = color red 0.13 green 0.37 blue 0.31;
|
||||
#declare Scarlet = color red 0.55 green 0.09 blue 0.09;
|
||||
|
||||
#declare Med_Purple = color red 0.73 green 0.16 blue 0.96;
|
||||
#declare Light_Purple = color red 0.87 green 0.58 blue 0.98;
|
||||
#declare Very_Light_Purple = color red 0.94 green 0.81 blue 0.99;
|
||||
|
||||
|
||||
// Color manipulation macros
|
||||
|
||||
// Takes Hue value as input, returns RGB vector.
|
||||
#macro CH2RGB (HH)
|
||||
#local H = mod(HH, 360);
|
||||
#local H = (H < 0 ? H+360 : H);
|
||||
#switch (H)
|
||||
#range (0, 120)
|
||||
#local R = (120- H) / 60;
|
||||
#local G = ( H- 0) / 60;
|
||||
#local B = 0;
|
||||
#break
|
||||
#range (120, 240)
|
||||
#local R = 0;
|
||||
#local G = (240- H) / 60;
|
||||
#local B = ( H-120) / 60;
|
||||
#break
|
||||
#range (240, 360)
|
||||
#local R = ( H-240) / 60;
|
||||
#local G = 0;
|
||||
#local B = (360- H) / 60;
|
||||
#break
|
||||
#end
|
||||
<min(R,1), min(G,1), min(B,1)>
|
||||
#end
|
||||
|
||||
// Takes RGB vector, Max component, and Span as input,
|
||||
// returns Hue value.
|
||||
#macro CRGB2H (RGB, Max, Span)
|
||||
#local H = 0;
|
||||
#local R = RGB.red;
|
||||
#local G = RGB.green;
|
||||
#local B = RGB.blue;
|
||||
#if (Span>0)
|
||||
#local H = (
|
||||
+ (R = Max & G != Max ? 0 + (G - B)/Span : 0)
|
||||
+ (G = Max & B != Max ? 2 + (B - R)/Span : 0)
|
||||
+ (B = Max & R != Max ? 4 + (R - G)/Span : 0)
|
||||
)*60;
|
||||
#end
|
||||
H
|
||||
#end
|
||||
|
||||
// Converts a color in HSL color space to a color in RGB color space.
|
||||
// Input: < Hue, Saturation, Lightness, Filter, Transmit >
|
||||
// Output: < Red, Green, Blue, Filter, Transmit >
|
||||
#macro CHSL2RGB(Color)
|
||||
#local HSLFT = color Color;
|
||||
#local H = (HSLFT.red);
|
||||
#local S = (HSLFT.green);
|
||||
#local L = (HSLFT.blue);
|
||||
#local SatRGB = CH2RGB(H);
|
||||
#local Col = 2*S*SatRGB + (1-S)*<1,1,1>;
|
||||
#if (L<0.5)
|
||||
#local RGB = L*Col;
|
||||
#else
|
||||
#local RGB = (1-L)*Col + (2*L-1)*<1,1,1>;
|
||||
#end
|
||||
<RGB.red,RGB.green,RGB.blue,(HSLFT.filter),(HSLFT.transmit)>
|
||||
#end
|
||||
|
||||
// Converts a color in RGB color space to a color in HSL color space.
|
||||
// Input: < Red, Green, Blue, Filter, Transmit >
|
||||
// Output: < Hue, Saturation, Lightness, Filter, Transmit >
|
||||
#macro CRGB2HSL(Color)
|
||||
#local RGBFT = color Color;
|
||||
#local R = (RGBFT.red);
|
||||
#local G = (RGBFT.green);
|
||||
#local B = (RGBFT.blue);
|
||||
#local Min = min(R,min(G,B));
|
||||
#local Max = max(R,max(G,B));
|
||||
#local Span = Max-Min;
|
||||
#local L = (Min+Max)/2;
|
||||
#local S = 0;
|
||||
#if( L!=0 & L!=1 )
|
||||
#local S = Span / ( L<0.5 ? (L*2) : (2-L*2) );
|
||||
#end
|
||||
#local H = CRGB2H (<R,G,B>, Max, Span);
|
||||
<H,S,L,(RGBFT.filter),(RGBFT.transmit)>
|
||||
#end
|
||||
|
||||
// Converts a color in HSV color space to a color in RGB color space.
|
||||
// Input: < Hue, Saturation, Value, Filter, Transmit >
|
||||
// Output: < Red, Green, Blue, Filter, Transmit >
|
||||
#macro CHSV2RGB(Color)
|
||||
#local HSVFT = color Color;
|
||||
#local H = (HSVFT.red);
|
||||
#local S = (HSVFT.green);
|
||||
#local V = (HSVFT.blue);
|
||||
#local SatRGB = CH2RGB(H);
|
||||
#local RGB = ( ((1-S)*<1,1,1> + S*SatRGB) * V );
|
||||
<RGB.red,RGB.green,RGB.blue,(HSVFT.filter),(HSVFT.transmit)>
|
||||
#end
|
||||
|
||||
// Converts a color in RGB color space to a color in HSV color space.
|
||||
// Input: < Red, Green, Blue, Filter, Transmit >
|
||||
// Output: < Hue, Saturation, Value, Filter, Transmit >
|
||||
#macro CRGB2HSV(Color)
|
||||
#local RGBFT = color Color;
|
||||
#local R = (RGBFT.red);
|
||||
#local G = (RGBFT.green);
|
||||
#local B = (RGBFT.blue);
|
||||
#local Min = min(R,min(G,B));
|
||||
#local Max = max(R,max(G,B));
|
||||
#local Span = Max-Min;
|
||||
#local H = CRGB2H (<R,G,B>, Max, Span);
|
||||
#local S = 0; #if (Max!=0) #local S = Span/Max; #end
|
||||
<H,S,Max,(RGBFT.filter),(RGBFT.transmit)>
|
||||
#end
|
||||
|
||||
#version Colors_Inc_Temp;
|
||||
#end
|
||||
119
distribution/include/consts.inc
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: consts.inc
|
||||
// Last updated: 2001.8.12
|
||||
// Description: Various constants and alias definitions.
|
||||
|
||||
#ifndef(Consts_Inc_Temp)
|
||||
#declare Consts_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including consts.inc\n"
|
||||
#end
|
||||
|
||||
#declare e = exp(1);//2.71828182845904523536028747135266249775724709369996;
|
||||
|
||||
#declare o = < 0, 0, 0>;
|
||||
#declare xy = < 1, 1, 0>;
|
||||
#declare yz = < 0, 1, 1>;
|
||||
#declare xz = < 1, 0, 1>;
|
||||
|
||||
// MAP_TYPE CONSTANTS
|
||||
#declare Plane_Map = 0;
|
||||
#declare Sphere_Map = 1;
|
||||
#declare Cylinder_Map = 2;
|
||||
#declare Torus_Map = 5;
|
||||
|
||||
// INTERPOLATION TYPE CONSTANTS
|
||||
#declare Bi = 2;
|
||||
#declare Norm = 4;
|
||||
|
||||
// FOG TYPE CONSTANTS
|
||||
#declare Uniform_Fog = 1;
|
||||
#declare Ground_Fog = 2;
|
||||
|
||||
// FOCAL BLUR HEXGRID CONSTANTS
|
||||
#declare Hex_Blur1 = 7;
|
||||
#declare Hex_Blur2 = 19;
|
||||
#declare Hex_Blur3 = 37;
|
||||
|
||||
// Dispersion amount constants
|
||||
//Glass: 1.01 - 1.05
|
||||
#declare Quartz_Glass_Dispersion = 1.012;
|
||||
#declare Water_Dispersion = 1.007;
|
||||
#declare Diamond_Dispersion = 1.035;
|
||||
#declare Sapphire_Dispersion = 1.015;
|
||||
|
||||
// INDEX OF REFRACTION CONSTANTS
|
||||
// Defines a few Index of Refractions for various materials for sodium light.
|
||||
// Source: College Physics by Arthur L. Kimball, PhD. 4th Edition (1923)
|
||||
// ---------------------------
|
||||
#declare Flint_Glass_Ior = 1.71;
|
||||
#declare Crown_Glass_Ior = 1.51;
|
||||
#declare Diamond_Ior = 2.47;
|
||||
#declare Water_Ior = 1.33;
|
||||
#declare Air_Ior = 1.000292;
|
||||
|
||||
#declare Ice_Ior = 1.31;
|
||||
#declare Fluorite_Ior = 1.434;
|
||||
#declare Plexiglas_Ior = 1.5;
|
||||
#declare Gypsum_Ior =1.525;
|
||||
#declare Salt_Ior = 1.544;
|
||||
|
||||
#declare Quartz_Ior = 1.550;
|
||||
#declare Citrine_Ior = 1.550;
|
||||
#declare Amethyst_Ior = 1.550;
|
||||
|
||||
#declare Beryl_Ior = 1.575;
|
||||
#declare Aquamarine_Ior = 1.575;
|
||||
#declare Emerald_Ior = 1.575;
|
||||
|
||||
#declare Topaz_Ior = 1.620;
|
||||
#declare Apatite_Ior = 1.635;
|
||||
#declare Tourmaline_Ior = 1.650;
|
||||
|
||||
#declare Corundum_Ior = 1.765;
|
||||
#declare Ruby_Ior = 1.765;
|
||||
#declare Sapphire_Ior = 1.765;
|
||||
|
||||
#declare Quartz_Glass_Ior = 1.458;
|
||||
#declare Flint_Glass_Heavy_Ior = 1.8;
|
||||
#declare Flint_Glass_Medium_Ior = 1.63;
|
||||
#declare Flint_Glass_Light_Ior = 1.6;
|
||||
|
||||
|
||||
|
||||
// POV-Ray 3.1 NOTE: These are included for backwards compatibility only.
|
||||
// Use the camera "angle" parameter for version 3.0 and above.
|
||||
//
|
||||
// Direction Vectors for various Field of View angles.
|
||||
// The formula used to calculate these is: FoV = 0.5 / tan(angle/2)
|
||||
// Based on the height, (the UP vector), not width or diagonal.
|
||||
// Useage: direction <0, 0, FoV_45>
|
||||
// (You will also need to adjust the location vector if you change FoV and
|
||||
// want to keep the same visual distance from your scene.)
|
||||
#declare FoV_15 = 7.595981;
|
||||
#declare FoV_30 = 3.732166;
|
||||
#declare FoV_45 = 2.414293;
|
||||
#declare FoV_60 = 1.732113;
|
||||
#declare FoV_75 = 1.303277;
|
||||
#declare FoV_90 = 1.000046;
|
||||
#declare FoV_105 = 0.767370;
|
||||
#declare FoV_120 = 0.577391;
|
||||
#declare FoV_135 = 0.414254;
|
||||
#declare FoV_150 = 0.267991;
|
||||
#declare FoV_165 = 0.131696;
|
||||
|
||||
// ATMOSPHERE TYPES
|
||||
#declare ISOTROPIC_SCATTERING = 1;
|
||||
#declare MIE_HAZY_SCATTERING = 2;
|
||||
#declare MIE_MURKY_SCATTERING = 3;
|
||||
#declare RAYLEIGH_SCATTERING = 4;
|
||||
#declare HENYEY_GREENSTEIN_SCATTERING = 5;
|
||||
|
||||
#version Consts_Inc_Temp;
|
||||
#end
|
||||
BIN
distribution/include/crystal.ttf
Normal file
BIN
distribution/include/cyrvetic.ttf
Normal file
47
distribution/include/debug.inc
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: debug.inc
|
||||
// Last updated: 2002.5.31
|
||||
// Description: This file contains various macros for debugging scene files.
|
||||
|
||||
#ifndef(DEBUG_MCR)
|
||||
#declare DEBUG_MCR = true;
|
||||
|
||||
#declare DEBUG = yes;
|
||||
|
||||
#macro Debug_Inc_Stack()
|
||||
#declare View_POV_Include_Stack = 1;
|
||||
#end
|
||||
|
||||
#macro Set_Debug(Bool) #declare DEBUG = Bool; #end
|
||||
|
||||
//Just a simple debug message macro, only sends message if currently debugging.
|
||||
#macro Debug_Message(Str)
|
||||
#if(DEBUG = yes)
|
||||
#debug Str
|
||||
#end
|
||||
#end
|
||||
|
||||
|
||||
#macro Debug(Condition, Message)
|
||||
#if(Condition)
|
||||
#debug Message
|
||||
#end
|
||||
#end
|
||||
#macro Warning(Condition, Message)
|
||||
#if(Condition)
|
||||
#warning Message
|
||||
#end
|
||||
#end
|
||||
#macro Error(Condition, Message)
|
||||
#if(Condition)
|
||||
#error Message
|
||||
#end
|
||||
#end
|
||||
|
||||
|
||||
#end
|
||||
|
||||
46
distribution/include/finish.inc
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
#ifndef(Finish_Inc_Temp)
|
||||
#declare Finish_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
# debug "including finish.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
|
||||
Some basic finishes. Others may be defined in
|
||||
specific .inc files (see metals.inc).
|
||||
|
||||
*/
|
||||
|
||||
// Dull creates a large, soft highlight on the object's surface
|
||||
#declare Dull = finish {specular 0.5 roughness 0.15}
|
||||
|
||||
// Shiny creates a small, tight highlight on the object's surface
|
||||
#declare Shiny = finish {specular 1 roughness 0.001}
|
||||
|
||||
// Phong highlights are less "realistic" than specular, but useful
|
||||
// for different effects.
|
||||
// Dull creates a large, soft highlight on the object's surface
|
||||
#declare Phong_Dull = finish {phong 0.5 phong_size 1}
|
||||
|
||||
// Shiny creates a small, tight highlight on the object's surface
|
||||
#declare Phong_Shiny = finish {phong 1 phong_size 200}
|
||||
|
||||
// Very shiny with very tight highlights and a fair amount of reflection
|
||||
#declare Glossy = finish {specular 1 roughness 0.0001 reflection 0.13}
|
||||
#declare Phong_Glossy = finish {phong 1 phong_size 300 reflection 0.13}
|
||||
|
||||
// Luminous for shadowless skies and light_sources.
|
||||
#declare Luminous = finish {ambient 1 diffuse 0}
|
||||
|
||||
// a perfectly mirrored finish with no highlights
|
||||
#declare Mirror = finish {ambient 0 diffuse 0 reflection 1}
|
||||
|
||||
#version Finish_Inc_Temp;
|
||||
#end
|
||||
BIN
distribution/include/fract003.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
689
distribution/include/functions.inc
Normal file
|
|
@ -0,0 +1,689 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
|
||||
#ifndef(Functions_Inc_Temp)
|
||||
#declare Functions_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
# debug "including function.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.5
|
||||
Many pre-defined functions for use in scene files.
|
||||
*/
|
||||
|
||||
#declare f_algbr_cyl1 = function { internal(0) }
|
||||
// Parameters: x, y, z
|
||||
// Five extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Field Limit
|
||||
// 3. SOR Switch
|
||||
// 4. SOR Offset
|
||||
// 5. SOR Angle
|
||||
|
||||
#declare f_algbr_cyl2 = function { internal(1) }
|
||||
// Parameters: x, y, z
|
||||
// Five extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Field Limit
|
||||
// 3. SOR Switch
|
||||
// 4. SOR Offset
|
||||
// 5. SOR Angle
|
||||
|
||||
#declare f_algbr_cyl3 = function { internal(2) }
|
||||
// Parameters: x, y, z
|
||||
// Five extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Field Limit
|
||||
// 3. SOR Switch
|
||||
// 4. SOR Offset
|
||||
// 5. SOR Angle
|
||||
|
||||
#declare f_algbr_cyl4 = function { internal(3) }
|
||||
// Parameters: x, y, z
|
||||
// Five extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Field Limit
|
||||
// 3. SOR Switch
|
||||
// 4. SOR Offset
|
||||
// 5. SOR Angle
|
||||
|
||||
#declare f_bicorn = function { internal(4) }
|
||||
// Parameters: x, y, z
|
||||
// Two extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Scale. The surface is always the same shape.
|
||||
// Changing this parameter has the same effect as adding a scale modifier.
|
||||
// Setting the scale to 1 gives a surface with a radius of about 1 unit.
|
||||
|
||||
#declare f_bifolia = function { internal(5) }
|
||||
// Parameters: x, y, z
|
||||
// Two extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Scale. The mathematics of this surface suggest that the shape
|
||||
// should be different for different values of this parameter.
|
||||
// In practice the difference in shape is hard to spot.
|
||||
// Setting the scale to 3 gives a surface with a radius of about 1 unit.
|
||||
|
||||
#declare f_blob = function { internal(6) }
|
||||
// Parameters: x, y, z
|
||||
// Five extra parameters required:
|
||||
// 1. x distance between the two components
|
||||
// 2. blob strength of component 1
|
||||
// 3. inverse blob radius of component 1
|
||||
// 4. blob strength of component 2
|
||||
// 5.inverse blob radius of component 2
|
||||
|
||||
#declare f_blob2 = function { internal(7) }
|
||||
// Parameters: x, y, z
|
||||
//Four extra parameters required:
|
||||
// 1. Separation. One blob component is at the origin
|
||||
// and the other is this distance away on the x axis
|
||||
// 2. inverse size. Increase this to decrease the size of the surface
|
||||
// 3. blob strength
|
||||
// 4. threshold. Setting this parameter to 1
|
||||
// and the threshold to zero has exactly the same effect
|
||||
// as setting this parameter to zero and the threshold to -1
|
||||
|
||||
#declare f_boy_surface = function { internal(8) }
|
||||
// Parameters: x, y, z
|
||||
// Two extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Scale. The surface is always the same shape.
|
||||
// Changing this parameter has the same effect as adding a scale modifier
|
||||
|
||||
#declare f_comma = function { internal(9) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. scale
|
||||
|
||||
#declare f_cross_ellipsoids = function { internal(10) }
|
||||
// Parameters: x, y, z
|
||||
// Four extra paraameters required
|
||||
// 1. eccentricity. When less than 1,
|
||||
// the ellipsoids are oblate,
|
||||
// when greater than 1 the ellipsoids are prolate,
|
||||
// when zero the ellipsoids are spherical
|
||||
// (and hence the whole surface is a sphere)
|
||||
// 2. inverse size. Increase this to decrease the size of the surface
|
||||
// 3. Diameter. Increase this to increase the size of the ellipsoids
|
||||
// 4. threshold. Setting this parameter to 1 and the threshold to zero
|
||||
// has exactly the same effect as setting this parameter to zero
|
||||
// and the threshold to -1
|
||||
|
||||
#declare f_crossed_trough = function { internal(11) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_cubic_saddle = function { internal(12) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_cushion = function { internal(13) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_devils_curve = function { internal(14) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_devils_curve_2d = function { internal(15) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. X factor
|
||||
// 3. Y factor
|
||||
// 4. SOR Switch
|
||||
// 5. SOR Offset
|
||||
// 6. SOR Angle
|
||||
|
||||
#declare f_dupin_cyclid = function { internal(16) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Major radius of torus
|
||||
// 3. Minor radius of torus
|
||||
// 4. X displacement of torus
|
||||
// 5. Y displacement of torus
|
||||
// 6. Radius of inversion
|
||||
|
||||
#declare f_ellipsoid = function { internal(17) }
|
||||
// Parameters: x, y, z
|
||||
// Three extra parameters required:
|
||||
// 1. x scale (inverse)
|
||||
// 2. y scale (inverse)
|
||||
// 3. z scale (inverse)
|
||||
|
||||
#declare f_enneper = function { internal(18) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field strength
|
||||
|
||||
#declare f_flange_cover = function { internal(19) }
|
||||
// Parameters: x, y, z
|
||||
// Four extra parameters required:
|
||||
// 1. Spikiness. Set this to very low values to increase the spikes.
|
||||
// Set it to 1 and you get a sphere
|
||||
// 2. inverse size. Increase this to decrease the size of the surface.
|
||||
// (The other parameters also drastically affect the size,
|
||||
// but this parameter has no other effects)
|
||||
// 3. Flange. Increase this to increase the flanges that appear between the spikes. Set it to 1 for no flanges
|
||||
// 4. threshold. Setting this parameter to 1 and the threshold to zero
|
||||
// has exactly the same effect as setting this parameter to zero
|
||||
// and the threshold to -1
|
||||
|
||||
#declare f_folium_surface = function { internal(20) }
|
||||
// Parameters: x, y, z
|
||||
// Three extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Neck width factor -
|
||||
// the larger you set this,
|
||||
// the narrower the neck where the paraboloid meets the plane
|
||||
// 3. Divergence -
|
||||
// the higher you set this value, the wider the paraboloid gets
|
||||
|
||||
#declare f_folium_surface_2d = function { internal(21) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Neck width factor - same as the 3d surface if you're revolving it around the Y axis
|
||||
// 3. Divergence -
|
||||
// same as the 3d surface if you're revolving it around the Y axis
|
||||
// 4. SOR Switch
|
||||
// 5. SOR Offset
|
||||
// 6. SOR Angle
|
||||
|
||||
#declare f_glob = function { internal(22) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_heart = function { internal(23) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_helical_torus = function { internal(24) }
|
||||
// Parameters: x, y, z
|
||||
// Ten extra parameters required:
|
||||
// 1.Major radius
|
||||
// 2. Number of winding loops
|
||||
// 3. Twistiness of winding.
|
||||
// When zero, each winding loop is separate.
|
||||
// When set to one, each loop twists into the next one.
|
||||
// When set to two, each loop twists into the one after next
|
||||
// 4. Fatness of winding?
|
||||
// 5. threshold. Setting this parameter to 1 and the threshold to zero
|
||||
// has s similar effect as setting this parameter to zero
|
||||
// and the threshold to 1
|
||||
// 6. Negative minor radius? Reducing this parameter
|
||||
// increases the minor radius of the central torus.
|
||||
// Increasing it can make the torus disappear
|
||||
// and be replaced by a vertical column.
|
||||
// The value at which the surface switches
|
||||
// from one form to the other depends on several other parameters
|
||||
// 7. Another fatness of winding control?
|
||||
// 8. Groove period. Increase this for more grooves
|
||||
// 9. Groove amplitude. Increase this for deeper grooves
|
||||
// 10. Groove phase. Set this to zero for symmetrical grooves
|
||||
|
||||
#declare f_helix1 = function { internal(25) }
|
||||
// Parameters: x, y, z
|
||||
// Parameters: x, y, z
|
||||
// Seven extra parameters required:
|
||||
// 1. Number of helixes - e.g. 2 for a double helix
|
||||
// 2. Period - is related to the number of turns per unit length
|
||||
// 3. Minor radius
|
||||
// 4. Major radius
|
||||
// 5. Shape parameter. If this is greater than 1 then the tube becomes fatter in the y direction
|
||||
// 6. Cross section type.
|
||||
// 7. Cross section rotation angle (degrees). E.g. if you choose a square cross section and rotate it by 45 degrees you get a diamond cross section.
|
||||
#declare f_helix2 = function { internal(26) }
|
||||
// Parameters: x, y, z
|
||||
// Seven extra parameters required:
|
||||
// 1. Not used
|
||||
// 2. Period - is related to the number of turns per unit length
|
||||
// 3. Minor radius
|
||||
// 4. Major radius
|
||||
// 5. Not used
|
||||
// 6. Cross section type.
|
||||
// 7. Cross section rotation angle (degrees). E.g. if you choose a square cross section and rotate it by 45 degrees you get a diamond cross section.
|
||||
|
||||
#declare f_hex_x = function { internal(27) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Has no effect ??????????????????????????????
|
||||
|
||||
#declare f_hex_y = function { internal(28) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Has no effect ??????????????????????????????
|
||||
|
||||
#declare f_hetero_mf = function { internal(29) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. H
|
||||
// 2. lacunarity
|
||||
// 3. octaves
|
||||
// 4. offset
|
||||
// 5. T
|
||||
// 6. noise
|
||||
|
||||
#declare f_hunt_surface = function { internal(30) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
#declare f_hyperbolic_torus = function { internal(31) }
|
||||
// Parameters: x, y, z
|
||||
// Three extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. Major radius: separation between the centers of the tubes at the closest point
|
||||
// 3. Minor radius: thickness of the tubes at the closest point
|
||||
|
||||
#declare f_isect_ellipsoids = function { internal(32) }
|
||||
// Parameters: x, y, z
|
||||
// Four extra parameters required:
|
||||
// 1. eccentricity. When less than 1, the ellipsoids are oblate,
|
||||
// when greater than 1 the ellipsoids are prolate,
|
||||
// when zero the ellipsoids are spherical
|
||||
// (and hence the whole surface is a sphere)
|
||||
// 2. inverse size. Increase this to decrease the size of the surface
|
||||
// 3. Diameter. Increase this to increase the size of the ellipsoids
|
||||
// 4. threshold. Setting this parameter to 1 and the threshold to zero
|
||||
// has exactly the same effect as setting this parameter to zero
|
||||
// and the threshold to -1
|
||||
|
||||
#declare f_kampyle_of_eudoxus = function { internal(33) }
|
||||
// Parameters: x, y, z
|
||||
// Three extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. Dimple: When zero, the two dimples punch right through
|
||||
// and meet at the center. Non-zero values give less dimpling
|
||||
// 3. Closeness: Higher values make the two planes become closer
|
||||
|
||||
#declare f_kampyle_of_eudoxus_2d = function { internal(34) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. Dimple: When zero, the two dimples punch right through and meet at the center. Non-zero values give less dimpling
|
||||
// 3. loseness: Higher values make the two planes become closer
|
||||
// 4. sor switch
|
||||
// 5. sor offset
|
||||
// 6. sor angle
|
||||
|
||||
#declare f_klein_bottle = function { internal(35) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_kummer_surface_v1 = function { internal(36) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_kummer_surface_v2 = function { internal(37) }
|
||||
// Parameters: x, y, z
|
||||
// Four extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. Rod width (negative): Setting this parameter
|
||||
// to larger negative values increases the diameter of the rods
|
||||
// 3. Divergence (negative): Setting this number to -1
|
||||
// causes the rods to become approximately cylindrical.
|
||||
// Larger negative values cause the rods to become fatter further from the origin.
|
||||
// Smaller negative numbers cause the rods to become narrower away from the origin,
|
||||
// and have a finite length
|
||||
// 4. Influences the length of half of the rods.
|
||||
// Changing the sign affects the other half of the rods.
|
||||
// 0 has no effect
|
||||
|
||||
#declare f_lemniscate_of_gerono = function { internal(38) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_lemniscate_of_gerono_2d = function { internal(39) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. size: increasing this makes the 2d curve larger and less rounded
|
||||
// 3. width: increasing this makes the 2d curve fatter
|
||||
// 4. sor switch
|
||||
// 5. sor offset
|
||||
// 6. sor angle
|
||||
|
||||
#declare f_mesh1 = function { internal(40) }
|
||||
// Parameters: x, y, z
|
||||
// Five extra Parameters required:
|
||||
// 1. Distance between neighboring threads in the x direction
|
||||
// 2. Distance between neighboring threads in the z direction
|
||||
// 3. Relative thickness in the x and z directions
|
||||
// 4. Amplitude of the weaving effect. Set to zero for a flat grid
|
||||
// 5. Relative thickness in the y direction
|
||||
|
||||
#declare f_mitre = function { internal(41) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_nodal_cubic = function { internal(42) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_odd = function { internal(43) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_ovals_of_cassini = function { internal(44) }
|
||||
// Parameters: x, y, z
|
||||
// Four parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Major radius - like the major radius of a torus
|
||||
// 3. Filling. Set this to zero, and you get a torus. Set this to a higher value and the hole in the middle starts to heal up. Set it even higher and you get an ellipsoid with a dimple
|
||||
// 4. Thickness. The higher you set this value, the plumper is the result.
|
||||
|
||||
#declare f_paraboloid = function { internal(45) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_parabolic_torus = function { internal(46) }
|
||||
// Parameters: x, y, z
|
||||
// Tree extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Major radius
|
||||
// 3. Minor radius
|
||||
|
||||
#declare f_ph = function { internal(47) }
|
||||
// Parameters: x, y, z
|
||||
// no extra parameters required
|
||||
|
||||
#declare f_pillow = function { internal(48) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_piriform = function { internal(49) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_piriform_2d = function { internal(50) }
|
||||
// Parameters: x, y, z
|
||||
// Seven extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. size factor 1: increasing this makes the curve larger
|
||||
// 3. size factor 2: making this less negative makes the curve larger but also thinner
|
||||
// 4. Fatness: increasing this makes the curve fatter
|
||||
// 5. sor switch
|
||||
// 6. sor offset
|
||||
// 7. sor angle
|
||||
|
||||
#declare f_poly4 = function { internal(51) }
|
||||
// Parameters: x, y, z
|
||||
// Five extra parameters required:
|
||||
// 1. Constant
|
||||
// 2. y coefficient
|
||||
// 3. Y2 coefficient
|
||||
// 4. Y3 coefficient
|
||||
// 5. Y4 coefficient
|
||||
|
||||
#declare f_polytubes = function { internal(52) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. Number of tubes
|
||||
// 2. Constant
|
||||
// 3. y coefficient
|
||||
// 4. Y2 coefficient
|
||||
// 5. Y3 coefficient
|
||||
// 6. Y4 coefficient
|
||||
|
||||
#declare f_quantum = function { internal(53) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Has no effect ??????????????????????????????
|
||||
|
||||
#declare f_quartic_paraboloid = function { internal(54) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_quartic_saddle = function { internal(55) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_quartic_cylinder = function { internal(56) }
|
||||
// Parameters: x, y, z
|
||||
// Three extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. Diameter of the "egg"
|
||||
// 3. Controls the width of the tube and the vertical scale of the "egg"
|
||||
|
||||
#declare f_r = function { internal(57) }
|
||||
// Parameters: x, y, z
|
||||
// no extra parameters required
|
||||
|
||||
#declare f_ridge = function { internal(58) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1.lambda
|
||||
// 2. octaves
|
||||
// 3. omega
|
||||
// 4. offset
|
||||
// 5. Ridge
|
||||
// 6. noise
|
||||
|
||||
#declare f_ridged_mf = function { internal(59) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. H
|
||||
// 2. Lacunarity
|
||||
// 3. octaves
|
||||
// 4. offset
|
||||
// 5. Gain
|
||||
// 6. noise
|
||||
|
||||
#declare f_rounded_box = function { internal(60) }
|
||||
// Parameters: x, y, z, P0, P1, P2, P3
|
||||
// Four extra parameters required:
|
||||
// 1. Radius of curvature.
|
||||
// Zero gives square corners,
|
||||
// 0.1 gives corners that match "sphere {0,0.1}"
|
||||
// 2. scale x
|
||||
// 3. scale y
|
||||
// 4. scale z
|
||||
|
||||
#declare f_sphere = function { internal(61) }
|
||||
// Parameters: x, y, z
|
||||
//One extra parameter required:
|
||||
// 1. radius of sphere
|
||||
|
||||
#declare f_spikes = function { internal(62) }
|
||||
// Parameters: x, y, z
|
||||
// Five extra parameters required:
|
||||
// 1. Spikiness. Set this to very low values to increase the spikes.
|
||||
// Set it to 1 and you get a sphere
|
||||
// 2. Hollowness. Increasing this causes the sides to bend in more
|
||||
// 3. size. Increasing this increases the size of the object
|
||||
// 4. Roundness. This parameter has a subtle effect on the roundness of the spikes
|
||||
// 5. Fatness. Increasing this makes the spikes fatter
|
||||
|
||||
#declare f_spikes_2d = function { internal(63) }
|
||||
// Parameters: x, y, z
|
||||
// Four extra parameters required:
|
||||
// 1. Height of central spike
|
||||
// 2. frequency of spikes in the x direction
|
||||
// 3. frequency of spikes in the z direction
|
||||
// 4. Rate at which the spikes reduce as you move away from the center
|
||||
|
||||
#declare f_spiral = function { internal(64) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. Distance between windings: setting this to 0.3 means that the spiral is 0.3 pov units further from the origin each time it completes one whole turn
|
||||
// 2. Thickness
|
||||
// 3. Outer diameter of the spiral. The surface behaves as if it is contained_by a sphere of this diameter
|
||||
// 4. Not used
|
||||
// 5. Not used
|
||||
// 6. Cross section type
|
||||
|
||||
#declare f_steiners_roman = function { internal(65) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_strophoid = function { internal(66) }
|
||||
// Parameters: x, y, z
|
||||
// Four extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. size of bulb. Larger values give larger bulbs.
|
||||
// Negative values give a bulb on the other side of the plane
|
||||
// 3. Sharpness. When zero, the bulb is like a sphere that just touches the plane.
|
||||
// When positive, there is a crossover point.
|
||||
// When negative the bulb simply bulges out of the plane like a pimple
|
||||
// 4. Fatness. Higher values make the top end of the bulb fatter
|
||||
|
||||
#declare f_strophoid_2d = function { internal(67) }
|
||||
// Parameters: x, y, z
|
||||
// Seven extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. size of bulb. Larger values give larger bulbs.
|
||||
// Negative values give a bulb on the other side of the plane
|
||||
// 3. Sharpness. When zero, the bulb is like a sphere that just touches the plane.
|
||||
// When positive, there is a crossover point.
|
||||
// When negative the bulb simply bulges out of the plane like a pimple
|
||||
// 4. Fatness. Higher values make the top end of the bulb fatter
|
||||
// 5. sor switch
|
||||
// 6. sor offset
|
||||
// 7. sor angle
|
||||
|
||||
#declare f_superellipsoid = function { internal(68) }
|
||||
// Parameters: x, y, z
|
||||
// two extra parameters required:
|
||||
// 1. NW
|
||||
// 2. SW
|
||||
|
||||
#declare f_th = function { internal(69) }
|
||||
// Parameters: x, y, z
|
||||
// no extra parameters required
|
||||
|
||||
#declare f_torus = function { internal(70) }
|
||||
// Parameters: x, y, z
|
||||
// two extra parameters required:
|
||||
// 1. Major radius
|
||||
// 2. Minor radius
|
||||
|
||||
#declare f_torus2 = function { internal(71) }
|
||||
// Parameters: x, y, z
|
||||
// Three extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. Major radius
|
||||
// 3. Minor radius
|
||||
|
||||
#declare f_torus_gumdrop = function { internal(72) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
|
||||
#declare f_umbrella = function { internal(73) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. Field Strength
|
||||
#declare f_witch_of_agnesi = function { internal(74) }
|
||||
// Parameters: x, y, z
|
||||
// Two extra parameters required:
|
||||
// 1. Field Strength
|
||||
// 2. Controls the width of the spike.
|
||||
// The height of the spike is always about 1 unit
|
||||
|
||||
#declare f_witch_of_agnesi_2d = function { internal(75) }
|
||||
// Parameters: x, y, z
|
||||
// Six extra parameters required:
|
||||
// 1. Field strength
|
||||
// 2. Controls the size of the spike
|
||||
// 3. Controls the height of the spike
|
||||
// 4. sor switch
|
||||
// 5. sor offset
|
||||
// 6. sor angle
|
||||
|
||||
#declare f_noise3d = function { internal(76) }
|
||||
// Parameters: x, y, z
|
||||
//Noise in the range [-1, 1]
|
||||
#declare f_snoise3d = function {2*f_noise3d(x, y, z) - 1}
|
||||
// Parameters: x, y, z
|
||||
|
||||
#declare f_noise_generator = function { internal(78) }
|
||||
// Parameters: x, y, z
|
||||
// One extra parameter required:
|
||||
// 1. noise_generator number
|
||||
|
||||
|
||||
#macro eval_pigment(pigm, vec)
|
||||
#local fn = function { pigment { pigm } }
|
||||
#local result = (fn(vec.x, vec.y, vec.z));
|
||||
result
|
||||
#end
|
||||
|
||||
|
||||
// Isosurface pattern functions
|
||||
// Some of these are not implemented because they require special
|
||||
// parameters that must be specified in the definition. For this
|
||||
// reason, you probably would want to define your own versions of
|
||||
// these functions.
|
||||
#declare f_agate = function {pattern {agate}}
|
||||
// average not implemented
|
||||
#declare f_boxed = function {pattern {boxed}}
|
||||
#declare f_bozo = function {f_noise3d(x, y, z)}
|
||||
#declare f_brick = function {pattern {brick}}
|
||||
#declare f_bumps = function {f_noise3d(x, y, z)}
|
||||
#declare f_checker = function {pattern {checker}}
|
||||
#declare f_crackle = function {pattern {crackle}}
|
||||
#declare f_cylindrical = function {pattern {cylindrical}}
|
||||
// density_file not implemented
|
||||
#declare f_dents = function {pow(f_noise3d(x, y, z), 3)}
|
||||
#declare f_gradientX = function {pattern {gradient x}}
|
||||
#declare f_gradientY = function {pattern {gradient y}}
|
||||
#declare f_gradientZ = function {pattern {gradient z}}
|
||||
#declare f_granite = function {pattern {granite}}
|
||||
// image_pattern not implemented
|
||||
#declare f_hexagon = function {pigment {hexagon color rgb 0, color rgb 0.5, color rgb 1}}
|
||||
#declare f_leopard = function {pattern {leopard}}
|
||||
//only the basic mandel pattern is implemented, its variants and
|
||||
//the other fractal patterns are not implemented.
|
||||
#declare f_mandel = function {pattern {mandel 25}}
|
||||
#declare f_marble = function {pattern {marble}}
|
||||
// object not implemented
|
||||
#declare f_onion = function {pattern {onion}}
|
||||
// pigment_pattern not implemented
|
||||
#declare f_planar = function {pattern {planar}}
|
||||
// quilted not implemented
|
||||
#declare f_radial = function {pattern {radial}}
|
||||
#declare f_ripples = function {pattern {ripples}}
|
||||
#declare f_spherical = function {pattern {spherical}}
|
||||
#declare f_spiral1 = function {pattern {spiral1 2}}
|
||||
#declare f_spiral2 = function {pattern {spiral2 2}}
|
||||
#declare f_spotted = function {f_noise3d(x, y, z)}
|
||||
#declare f_waves = function {pattern {waves}}
|
||||
#declare f_wood = function {pattern {wood}}
|
||||
#declare f_wrinkles = function {pattern {wrinkles}}
|
||||
|
||||
|
||||
// Waveform functions
|
||||
#declare f_sine_wave = function {sin(x*z*pi)*y}
|
||||
// f_sine_wave(val, amplitude, frequency)
|
||||
#declare f_scallop_wave = function {abs(sin(x*z*pi)*y)}
|
||||
// f_scallop_wave(val, amplitude, frequency)
|
||||
|
||||
#version Functions_Inc_Temp;
|
||||
#end//functions.inc
|
||||
|
||||
332
distribution/include/glass.inc
Normal file
|
|
@ -0,0 +1,332 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: glass.inc
|
||||
// Last updated: 2001.8.19
|
||||
// Author: Christoph Hormann
|
||||
// Description: Glass materials using new POV 3.5 features.
|
||||
//
|
||||
// Upated: 07Aug2008 (jh)
|
||||
// Use these pigments, finishes and interiors to make a glass "material"
|
||||
// Converted glass_old textures to materials.
|
||||
// See glass_old.inc for examples
|
||||
|
||||
#ifndef(Glass_Inc_Temp)
|
||||
#declare Glass_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including glass.inc\n"
|
||||
#end
|
||||
|
||||
#include "glass_old.inc"
|
||||
#include "consts.inc"
|
||||
|
||||
// #### colors with transparency for use in pigment ####
|
||||
|
||||
// ------- colors derived from old glass.inc include file
|
||||
|
||||
#declare Col_Glass_Old=color rgbf <0.8, 0.9, 0.85, 0.85>;
|
||||
#declare Col_Glass_Winebottle=color rgbf <0.4, 0.72, 0.4, 0.6>;
|
||||
#declare Col_Glass_Beerbottle=color rgbf <0.7, 0.5, 0.1, 0.6>;
|
||||
#declare Col_Glass_Ruby=color rgbf <0.9, 0.1, 0.2, 0.8>;
|
||||
#declare Col_Glass_Green=color rgbf <0.8, 1, 0.95, 0.9>;
|
||||
#declare Col_Glass_Dark_Green=color rgbf <0.1, 0.7, 0.8, 0.8>;
|
||||
#declare Col_Glass_Yellow=color rgbf <0.8, 0.8, 0.2, 0.8>;
|
||||
#declare Col_Glass_Orange=color rgbf <1.0, 0.5, 0.0, 0.8>;
|
||||
#declare Col_Glass_Vicksbottle=color rgbf <0.1, 0.15, 0.5, 0.9>;
|
||||
|
||||
// ------- additional colors
|
||||
|
||||
#declare Col_Glass_Clear=color rgbf <1.0, 1.0, 1.0, 1.0>;
|
||||
#declare Col_Glass_General=color rgbf <0.97, 0.99, 0.98, 0.9>;
|
||||
#declare Col_Glass_Bluish=color rgbf <0.90, 0.94, 1.0, 0.8>;
|
||||
|
||||
// #### colors without transparency (for fade_color) ####
|
||||
|
||||
// ------- colors derived from old glass.inc include file
|
||||
|
||||
#declare Col_Winebottle=color rgb <0.4, 0.72, 0.4>;
|
||||
#declare Col_Beerbottle=color rgb <0.7, 0.5, 0.1>;
|
||||
#declare Col_Ruby=color rgb <0.9, 0.1, 0.2>;
|
||||
#declare Col_Green=color rgb <0.8, 1, 0.95>;
|
||||
#declare Col_Dark_Green=color rgb <0.1, 0.7, 0.8>;
|
||||
#declare Col_Yellow=color rgb <0.8, 0.8, 0.2>;
|
||||
#declare Col_Orange=color rgb <1.0, 0.5, 0.0>;
|
||||
#declare Col_Vicksbottle=color rgb <0.1, 0.15, 0.5>;
|
||||
|
||||
// ------- additional colors
|
||||
|
||||
#declare Col_Red_01=color rgb <0.85, 0.10, 0.20>;
|
||||
#declare Col_Red_02=color rgb <0.85, 0.35, 0.10>;
|
||||
#declare Col_Red_03=color rgb <0.75, 0.20, 0.25>;
|
||||
#declare Col_Red_04=color rgb <0.50, 0.10, 0.10>;
|
||||
|
||||
#declare Col_Green_01=color rgb <0.10, 0.85, 0.20>;
|
||||
#declare Col_Green_02=color rgb <0.35, 0.85, 0.10>;
|
||||
#declare Col_Green_03=color rgb <0.20, 0.75, 0.25>;
|
||||
#declare Col_Green_04=color rgb <0.10, 0.50, 0.10>;
|
||||
|
||||
#declare Col_Blue_01=color rgb <0.35, 0.42, 0.85>;
|
||||
#declare Col_Blue_02=color rgb <0.35, 0.65, 0.85>;
|
||||
#declare Col_Blue_03=color rgb <0.35, 0.40, 0.75>;
|
||||
#declare Col_Blue_04=color rgb <0.10, 0.10, 0.50>;
|
||||
|
||||
#declare Col_Yellow_01=color rgb <0.85, 0.85, 0.20>;
|
||||
#declare Col_Yellow_02=color rgb <0.75, 0.78, 0.10>;
|
||||
#declare Col_Yellow_03=color rgb <0.78, 0.75, 0.10>;
|
||||
#declare Col_Yellow_04=color rgb <0.50, 0.50, 0.10>;
|
||||
|
||||
// ------- colors of common minerals
|
||||
|
||||
#declare Col_Amethyst_01=color rgb<0.4392, 0.1765, 0.3137>;
|
||||
#declare Col_Amethyst_02=color rgb<0.5843, 0.3686, 0.4941>;
|
||||
#declare Col_Amethyst_03=color rgb<0.6980, 0.5059, 0.6157>;
|
||||
#declare Col_Amethyst_04=color rgb<0.9059, 0.7176, 0.8471>;
|
||||
#declare Col_Amethyst_05=color rgb<0.8902, 0.4549, 0.7059>;
|
||||
#declare Col_Amethyst_06=color rgb<0.4980, 0.2902, 0.4235>;
|
||||
|
||||
#declare Col_Apatite_01=color rgb<0.0549, 0.3451, 0.4314>;
|
||||
#declare Col_Apatite_02=color rgb<0.2941, 0.5765, 0.5647>;
|
||||
#declare Col_Apatite_03=color rgb<0.5176, 0.7333, 0.7020>;
|
||||
#declare Col_Apatite_04=color rgb<0.3412, 0.5961, 0.4118>;
|
||||
#declare Col_Apatite_05=color rgb<0.3647, 0.8196, 0.7451>;
|
||||
|
||||
#declare Col_Aquamarine_01=color rgb<0.5333, 0.6157, 0.6196>;
|
||||
#declare Col_Aquamarine_02=color rgb<0.6627, 0.7020, 0.7255>;
|
||||
#declare Col_Aquamarine_03=color rgb<0.7412, 0.8235, 0.8431>;
|
||||
#declare Col_Aquamarine_04=color rgb<0.6039, 0.7216, 0.7882>;
|
||||
#declare Col_Aquamarine_05=color rgb<0.5804, 0.7098, 0.7765>;
|
||||
#declare Col_Aquamarine_06=color rgb<0.7255, 0.8510, 0.9176>;
|
||||
|
||||
#declare Col_Azurite_01=color rgb<0.2863, 0.3569, 0.7216>;
|
||||
#declare Col_Azurite_02=color rgb<0.5333, 0.6549, 0.9059>;
|
||||
#declare Col_Azurite_03=color rgb<0.3020, 0.3529, 0.6314>;
|
||||
#declare Col_Azurite_04=color rgb<0.1137, 0.1569, 0.4471>;
|
||||
|
||||
#declare Col_Citrine_01=color rgb<0.3020, 0.2314, 0.1529>;
|
||||
#declare Col_Citrine_02=color rgb<0.4667, 0.3804, 0.2980>;
|
||||
#declare Col_Citrine_03=color rgb<0.5020, 0.4118, 0.3529>;
|
||||
|
||||
#declare Col_Emerald_01=color rgb<0.0471, 0.4000, 0.2549>;
|
||||
#declare Col_Emerald_02=color rgb<0.2157, 0.6353, 0.4902>;
|
||||
#declare Col_Emerald_03=color rgb<0.3216, 0.6627, 0.5961>;
|
||||
#declare Col_Emerald_04=color rgb<0.1843, 0.4549, 0.3843>;
|
||||
#declare Col_Emerald_05=color rgb<0.2863, 0.6431, 0.4431>;
|
||||
#declare Col_Emerald_06=color rgb<0.2353, 0.5922, 0.3804>;
|
||||
#declare Col_Emerald_07=color rgb<0.4392, 0.7725, 0.5804>;
|
||||
|
||||
#declare Col_Fluorite_01=color rgb<0.5098, 0.3294, 0.4039>;
|
||||
#declare Col_Fluorite_02=color rgb<0.3020, 0.1569, 0.2431>;
|
||||
#declare Col_Fluorite_03=color rgb<0.5098, 0.2902, 0.2745>;
|
||||
#declare Col_Fluorite_04=color rgb<0.5373, 0.3098, 0.0902>;
|
||||
#declare Col_Fluorite_05=color rgb<0.7020, 0.5529, 0.7294>;
|
||||
#declare Col_Fluorite_06=color rgb<0.4745, 0.2627, 0.4824>;
|
||||
#declare Col_Fluorite_07=color rgb<0.2314, 0.0784, 0.2902>;
|
||||
#declare Col_Fluorite_08=color rgb<0.5804, 0.6235, 0.6745>;
|
||||
#declare Col_Fluorite_09=color rgb<0.4392, 0.4745, 0.5333>;
|
||||
|
||||
#declare Col_Gypsum_01=color rgb<0.9020, 0.8824, 0.7882>;
|
||||
#declare Col_Gypsum_02=color rgb<0.8039, 0.8667, 0.8157>;
|
||||
#declare Col_Gypsum_03=color rgb<0.7098, 0.6863, 0.6000>;
|
||||
#declare Col_Gypsum_04=color rgb<0.8275, 0.8078, 0.5765>;
|
||||
#declare Col_Gypsum_05=color rgb<0.8196, 0.7373, 0.5294>;
|
||||
#declare Col_Gypsum_06=color rgb<0.5961, 0.4941, 0.3020>;
|
||||
|
||||
#declare Col_Ruby_01=color rgb<0.4980, 0.0824, 0.2275>;
|
||||
#declare Col_Ruby_02=color rgb<0.6235, 0.1490, 0.3137>;
|
||||
#declare Col_Ruby_03=color rgb<0.7412, 0.3294, 0.4745>;
|
||||
#declare Col_Ruby_04=color rgb<0.8039, 0.2039, 0.5569>;
|
||||
#declare Col_Ruby_05=color rgb<0.5882, 0.1255, 0.4784>;
|
||||
|
||||
#declare Col_Sapphire_01=color rgb<0.2118, 0.3020, 0.4980>;
|
||||
#declare Col_Sapphire_02=color rgb<0.0588, 0.2000, 0.5569>;
|
||||
#declare Col_Sapphire_03=color rgb<0.0392, 0.2353, 0.5686>;
|
||||
|
||||
#declare Col_Topaz_01=color rgb<0.7333, 0.7451, 0.6980>;
|
||||
#declare Col_Topaz_02=color rgb<0.5922, 0.6196, 0.5922>;
|
||||
#declare Col_Topaz_03=color rgb<0.5922, 0.6157, 0.6510>;
|
||||
|
||||
#declare Col_Tourmaline_01=color rgb<0.3725, 0.4235, 0.2941>;
|
||||
#declare Col_Tourmaline_02=color rgb<0.2745, 0.3490, 0.2235>;
|
||||
#declare Col_Tourmaline_03=color rgb<0.2627, 0.2549, 0.1451>;
|
||||
#declare Col_Tourmaline_04=color rgb<0.1333, 0.4706, 0.3412>;
|
||||
#declare Col_Tourmaline_05=color rgb<0.0627, 0.2980, 0.2118>;
|
||||
#declare Col_Tourmaline_06=color rgb<0.0196, 0.2706, 0.1961>;
|
||||
|
||||
#declare Col_Amber_01=color rgb<0.3725, 0.4235, 0.2941>;
|
||||
#declare Col_Amber_02=color rgb<0.8941, 0.6863, 0.2902>;
|
||||
#declare Col_Amber_03=color rgb<0.7412, 0.4235, 0.2588>;
|
||||
#declare Col_Amber_04=color rgb<0.7059, 0.3961, 0.1216>;
|
||||
#declare Col_Amber_05=color rgb<0.5647, 0.2392, 0.0745>;
|
||||
#declare Col_Amber_06=color rgb<0.8157, 0.6549, 0.2392>;
|
||||
#declare Col_Amber_07=color rgb<0.9882, 0.6941, 0.0431>;
|
||||
#declare Col_Amber_08=color rgb<0.8549, 0.4706, 0.1294>;
|
||||
#declare Col_Amber_09=color rgb<0.5294, 0.2431, 0.1529>;
|
||||
|
||||
|
||||
// #### additional glass finishes ####
|
||||
|
||||
#declare F_Glass5 =
|
||||
finish {
|
||||
specular 0.7
|
||||
roughness 0.001
|
||||
ambient 0
|
||||
diffuse 0
|
||||
reflection {
|
||||
0.2, 1.0
|
||||
fresnel on
|
||||
}
|
||||
conserve_energy
|
||||
}
|
||||
|
||||
#declare F_Glass6 =
|
||||
finish {
|
||||
specular 0.6
|
||||
roughness 0.002
|
||||
ambient 0
|
||||
diffuse 0.1
|
||||
brilliance 5
|
||||
reflection {
|
||||
0.1, 1.0
|
||||
fresnel on
|
||||
}
|
||||
conserve_energy
|
||||
}
|
||||
|
||||
#declare F_Glass7 =
|
||||
finish {
|
||||
specular 0.9
|
||||
roughness 0.001
|
||||
ambient 0
|
||||
diffuse 0
|
||||
reflection {
|
||||
0.0, 1.0
|
||||
fresnel on
|
||||
}
|
||||
conserve_energy
|
||||
}
|
||||
|
||||
#declare F_Glass8 =
|
||||
finish {
|
||||
specular 0.6
|
||||
roughness 0.005
|
||||
ambient 0
|
||||
diffuse 0.15
|
||||
brilliance 4
|
||||
reflection {
|
||||
0.2, 1.0
|
||||
fresnel on
|
||||
}
|
||||
conserve_energy
|
||||
}
|
||||
|
||||
#declare F_Glass9 =
|
||||
finish {
|
||||
specular 0.8
|
||||
roughness 0.001
|
||||
ambient 0
|
||||
diffuse 0
|
||||
reflection {
|
||||
0.05, 1.0
|
||||
}
|
||||
conserve_energy
|
||||
}
|
||||
|
||||
#declare F_Glass10 =
|
||||
finish {
|
||||
specular 0.6
|
||||
roughness 0.002
|
||||
ambient 0
|
||||
diffuse 0.1
|
||||
reflection {
|
||||
0.05, 1.0
|
||||
}
|
||||
conserve_energy
|
||||
}
|
||||
|
||||
|
||||
// #### additional glass interiors ####
|
||||
|
||||
#declare I_Glass1=
|
||||
interior {
|
||||
ior 1.5
|
||||
fade_distance 1.0
|
||||
fade_power 2
|
||||
}
|
||||
|
||||
#declare I_Glass2=
|
||||
interior {
|
||||
ior 1.5
|
||||
fade_distance 0.5
|
||||
fade_power 1001
|
||||
}
|
||||
|
||||
#declare I_Glass3=
|
||||
interior {
|
||||
ior 1.5
|
||||
fade_distance 1.0
|
||||
fade_power 1001
|
||||
}
|
||||
|
||||
#declare I_Glass4=
|
||||
interior {
|
||||
ior 1.5
|
||||
fade_distance 2.0
|
||||
fade_power 1001
|
||||
}
|
||||
|
||||
#declare I_Glass_Fade_Sqr1=interior { I_Glass1 }
|
||||
#declare I_Glass_Fade_Exp1=interior { I_Glass2 }
|
||||
#declare I_Glass_Fade_Exp2=interior { I_Glass3 }
|
||||
#declare I_Glass_Fade_Exp3=interior { I_Glass4 }
|
||||
|
||||
|
||||
#declare I_Glass_Dispersion1=
|
||||
interior {
|
||||
ior 1.5
|
||||
dispersion 1.02
|
||||
fade_distance 1
|
||||
fade_power 1001
|
||||
}
|
||||
|
||||
#declare I_Glass_Dispersion2=
|
||||
interior {
|
||||
ior 1.5
|
||||
dispersion 1.15
|
||||
fade_distance 1
|
||||
fade_power 1001
|
||||
}
|
||||
|
||||
#declare I_Glass_Caustics1=
|
||||
interior {
|
||||
ior 1.5
|
||||
caustics 0.5
|
||||
fade_distance 1
|
||||
fade_power 1001
|
||||
}
|
||||
|
||||
#declare I_Glass_Caustics2=
|
||||
interior {
|
||||
ior 1.5
|
||||
caustics 1.0
|
||||
fade_distance 1
|
||||
fade_power 1001
|
||||
}
|
||||
|
||||
#macro I_Glass_Exp(Distance)
|
||||
ior 1.5
|
||||
fade_distance Distance
|
||||
fade_power 1001
|
||||
#end
|
||||
|
||||
#macro I_Glass_Sqr(Distance)
|
||||
ior 1.5
|
||||
fade_distance Distance
|
||||
fade_power 2
|
||||
#end
|
||||
|
||||
#version Glass_Inc_Temp;
|
||||
#end
|
||||
168
distribution/include/glass_old.inc
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer Include File
|
||||
// File: glass_old.inc
|
||||
// Last updated: 2001.8.9
|
||||
// Description: Glass finishes and textures (was glass.inc in versions prior to 3.5).
|
||||
// Changes in version 3.1: moved refraction and ior to the interior statment.
|
||||
// Use I_Glass in conjunction with each of the finish statments below.
|
||||
// Version 3.5: Renamed file as glass_old.inc.
|
||||
//
|
||||
// Updated: 27Sep2008(jh)
|
||||
//
|
||||
// To suppress warnings generated from using these deprecated textures you should consider
|
||||
// converting them to materials.
|
||||
//
|
||||
// In this example texture {T_Glass4} interior {I_Glass caustics 1} becomes
|
||||
//
|
||||
// material {
|
||||
// texture {
|
||||
// pigment { color rgbf <0.98, 1.0, 0.99, 0.75> }
|
||||
// finish { F_Glass4 }
|
||||
// }
|
||||
// interior { I_Glass caustics 1 }
|
||||
// }
|
||||
|
||||
#ifndef(Glass_Old_Inc_Temp)
|
||||
#declare Glass_Old_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including glass_old.inc\n"
|
||||
#end
|
||||
|
||||
// Glass Interior
|
||||
#declare I_Glass =
|
||||
interior {
|
||||
ior 1.5
|
||||
}
|
||||
|
||||
// Glass Finishes
|
||||
#declare F_Glass1 =
|
||||
finish {
|
||||
specular 1
|
||||
roughness 0.001
|
||||
ambient 0
|
||||
diffuse 0
|
||||
reflection 0.1
|
||||
}
|
||||
|
||||
#declare F_Glass2 =
|
||||
finish {
|
||||
ambient 0
|
||||
diffuse 0
|
||||
reflection 0.5
|
||||
phong 0.3
|
||||
phong_size 60
|
||||
}
|
||||
|
||||
#declare F_Glass3 =
|
||||
finish {
|
||||
ambient 0.1
|
||||
diffuse 0.1
|
||||
reflection 0.1
|
||||
specular 0.8
|
||||
roughness 0.003
|
||||
phong 1
|
||||
phong_size 400
|
||||
}
|
||||
|
||||
#declare F_Glass4 =
|
||||
finish {
|
||||
ambient 0.1
|
||||
diffuse 0.1
|
||||
reflection .25
|
||||
specular 1
|
||||
roughness 0.001
|
||||
}
|
||||
|
||||
// Glass Textures
|
||||
// Simple clear glass
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Glass1" T_Glass1 =
|
||||
texture {
|
||||
pigment { color rgbf<1.0, 1.0, 1.0, 0.7> }
|
||||
finish { F_Glass1 }
|
||||
}
|
||||
|
||||
// More like an acrylic plastic
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Glass2" T_Glass2 =
|
||||
texture {
|
||||
pigment { color rgbf<1.0, 1.0, 1.0, 1.0> }
|
||||
finish { F_Glass2 }
|
||||
}
|
||||
|
||||
// An excellent lead crystal glass!
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Glass3" T_Glass3 =
|
||||
texture {
|
||||
pigment { color rgbf <0.98, 0.98, 0.98, 0.9> }
|
||||
finish { F_Glass3 }
|
||||
}
|
||||
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Glass4" T_Glass4 =
|
||||
texture {
|
||||
pigment { color rgbf <0.98, 1.0, 0.99, 0.75> }
|
||||
finish { F_Glass4 }
|
||||
}
|
||||
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Old_Glass" T_Old_Glass =
|
||||
texture {
|
||||
pigment { color rgbf <0.8, 0.9, 0.85, 0.85> }
|
||||
finish { F_Glass4 }
|
||||
}
|
||||
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Winebottle_Glass" T_Winebottle_Glass =
|
||||
texture {
|
||||
pigment { color rgbf <0.4, 0.72, 0.4, 0.6> }
|
||||
finish { F_Glass4 }
|
||||
}
|
||||
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Beerbottle_Glass" T_Beerbottle_Glass =
|
||||
texture {
|
||||
pigment { color rgbf <0.7, 0.5, 0.1, 0.6> }
|
||||
finish { F_Glass4 }
|
||||
}
|
||||
|
||||
// A few color variations on Norm's glass
|
||||
// Ruby glass
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Ruby_Glass" T_Ruby_Glass =
|
||||
texture {
|
||||
pigment { color rgbf <0.9, 0.1, 0.2, 0.8> }
|
||||
finish { F_Glass4 }
|
||||
}
|
||||
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Green_Glass" T_Green_Glass =
|
||||
texture {
|
||||
pigment { color rgbf <0.8, 1, 0.95, 0.9> }
|
||||
finish { F_Glass3 }
|
||||
}
|
||||
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Dark_Green_Glass" T_Dark_Green_Glass =
|
||||
texture {
|
||||
pigment { color rgbf <0.1, 0.7, 0.8, 0.8> }
|
||||
finish { F_Glass4 }
|
||||
}
|
||||
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Yellow_Glass" T_Yellow_Glass =
|
||||
texture {
|
||||
pigment { color rgbf <0.8, 0.8, 0.2, 0.8> }
|
||||
finish { F_Glass4 }
|
||||
}
|
||||
|
||||
// Orange/Amber glass
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Orange_Glass" T_Orange_Glass =
|
||||
texture {
|
||||
pigment { rgbf <1.0, 0.5, 0.0, 0.8> }
|
||||
finish { F_Glass4 }
|
||||
}
|
||||
|
||||
// Vicks bottle glass
|
||||
#declare deprecated once "See notes in glass_old.inc regarding use of this deprecated texture: T_Vicksbottle_Glass" T_Vicksbottle_Glass =
|
||||
texture {
|
||||
pigment { color rgbf <0.1, 0.15, 0.5, 0.9> }
|
||||
finish { F_Glass4 }
|
||||
}
|
||||
|
||||
#version Glass_Old_Inc_Temp;
|
||||
#end
|
||||
236
distribution/include/golds.inc
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
#ifndef(Gold_Inc_Temp)
|
||||
#declare Gold_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including golds.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Gold textures
|
||||
*/
|
||||
|
||||
#declare GoldBase = <1.00, 0.875, 0.575>; // mine again
|
||||
|
||||
// This set shifts the color toward orange by subtracting
|
||||
// bluegreen from the base color.
|
||||
#declare CVect1 = GoldBase - <0.00, 0.20, 0.40>;
|
||||
#declare CVect2 = GoldBase - <0.00, 0.15, 0.30>;
|
||||
#declare CVect3 = GoldBase - <0.00, 0.10, 0.20>;
|
||||
#declare CVect4 = GoldBase - <0.00, 0.05, 0.1>;
|
||||
#declare CVect5 = GoldBase - <0.00, 0.00, 0.00>;
|
||||
|
||||
// Cast CVect as an rgb vector
|
||||
#declare P_Gold1 = rgb CVect1; // back row
|
||||
#declare P_Gold2 = rgb CVect2;
|
||||
#declare P_Gold3 = rgb CVect3;
|
||||
#declare P_Gold4 = rgb CVect4;
|
||||
#declare P_Gold5 = rgb CVect5; // front row
|
||||
|
||||
// Reflection colors, derived from pigment color, "grayed down" a touch.
|
||||
#declare R_GoldA = P_Gold1 * 0.30 + <0.25,0.25,0.25>; // left column (soft)
|
||||
#declare R_GoldB = P_Gold2 * 0.35 + <0.25,0.25,0.25>;
|
||||
#declare R_GoldC = P_Gold3 * 0.40 + <0.25,0.25,0.25>;
|
||||
#declare R_GoldD = P_Gold4 * 0.45 + <0.25,0.25,0.25>;
|
||||
#declare R_GoldE = P_Gold5 * 0.50 + <0.25,0.25,0.25>; // right column (hard)
|
||||
|
||||
|
||||
// Ambient colors, derived from base color
|
||||
#declare A_GoldA = P_Gold1 * 0.12 + <0.1,0.1,0.1>; // left column (soft)
|
||||
#declare A_GoldB = P_Gold2 * 0.10 + <0.1,0.1,0.1>;
|
||||
#declare A_GoldC = P_Gold3 * 0.08 + <0.1,0.1,0.1>;
|
||||
#declare A_GoldD = P_Gold4 * 0.05 + <0.1,0.1,0.1>;
|
||||
#declare A_GoldE = P_Gold5 * 0.02 + <0.1,0.1,0.1>; // right column (hard)
|
||||
|
||||
// Diffuse values
|
||||
// Calculated as 1 - (ambient+reflective+specular values)
|
||||
#declare D_GoldA = 1-(((R_GoldA.red+R_GoldA.green+R_GoldA.blue)/3)
|
||||
+ ((A_GoldA.red+A_GoldA.green+A_GoldA.blue)/3));
|
||||
#declare D_GoldB = 1-(((R_GoldB.red+R_GoldB.green+R_GoldB.blue)/3)
|
||||
+ ((A_GoldB.red+A_GoldB.green+A_GoldB.blue)/3));
|
||||
#declare D_GoldC = 1-(((R_GoldC.red+R_GoldC.green+R_GoldC.blue)/3)
|
||||
+ ((A_GoldC.red+A_GoldC.green+A_GoldC.blue)/3));
|
||||
#declare D_GoldD = 1-(((R_GoldD.red+R_GoldD.green+R_GoldD.blue)/3)
|
||||
+ ((A_GoldD.red+A_GoldD.green+A_GoldD.blue)/3));
|
||||
#declare D_GoldE = 1-(((R_GoldE.red+R_GoldE.green+R_GoldE.blue)/3)
|
||||
+ ((A_GoldE.red+A_GoldE.green+A_GoldE.blue)/3));
|
||||
|
||||
#declare D_GoldA = max(D_GoldA, 0);
|
||||
#declare D_GoldB = max(D_GoldB, 0);
|
||||
#declare D_GoldC = max(D_GoldC, 0);
|
||||
#declare D_GoldD = max(D_GoldD, 0);
|
||||
#declare D_GoldE = max(D_GoldE, 0);
|
||||
|
||||
|
||||
// #debug "\nReflection colors:"
|
||||
// #debug concat("\nR_GoldA=<", str(R_GoldA.red, 5, 5), "," ,
|
||||
// str(R_GoldA.green, 5, 5),"," ,
|
||||
// str(R_GoldA.blue, 5, 5), ">")
|
||||
// #debug concat("\nR_GoldB=<", str(R_GoldB.red, 5, 5), "," ,
|
||||
// str(R_GoldB.green, 5, 5),"," ,
|
||||
// str(R_GoldB.blue, 5, 5), ">")
|
||||
// #debug concat("\nR_GoldC=<", str(R_GoldC.red, 5, 5), "," ,
|
||||
// str(R_GoldC.green, 5, 5),"," ,
|
||||
// str(R_GoldC.blue, 5, 5), ">")
|
||||
// #debug concat("\nR_GoldD=<", str(R_GoldD.red, 5, 5), "," ,
|
||||
// str(R_GoldD.green, 5, 5),"," ,
|
||||
// str(R_GoldD.blue, 5, 5), ">")
|
||||
// #debug concat("\nR_GoldE=<", str(R_GoldE.red, 5, 5), "," ,
|
||||
// str(R_GoldE.green, 5, 5),"," ,
|
||||
// str(R_GoldE.blue, 5, 5), ">")
|
||||
//
|
||||
// #debug "\n\nAmbient colors:"
|
||||
// #debug concat("\nA_GoldA=<", str(A_GoldA.red, 5, 5), "," ,
|
||||
// str(A_GoldA.green, 5, 5),"," ,
|
||||
// str(A_GoldA.blue, 5, 5), ">")
|
||||
// #debug concat("\nA_GoldB=<", str(A_GoldB.red, 5, 5), "," ,
|
||||
// str(A_GoldB.green, 5, 5),"," ,
|
||||
// str(A_GoldB.blue, 5, 5), ">")
|
||||
// #debug concat("\nA_GoldC=<", str(A_GoldC.red, 5, 5), "," ,
|
||||
// str(A_GoldC.green, 5, 5),"," ,
|
||||
// str(A_GoldC.blue, 5, 5), ">")
|
||||
// #debug concat("\nA_GoldD=<", str(A_GoldD.red, 5, 5), "," ,
|
||||
// str(A_GoldD.green, 5, 5),"," ,
|
||||
// str(A_GoldD.blue, 5, 5), ">")
|
||||
// #debug concat("\nA_GoldE=<", str(A_GoldE.red, 5, 5), "," ,
|
||||
// str(A_GoldE.green, 5, 5),"," ,
|
||||
// str(A_GoldE.blue, 5, 5), ">")
|
||||
//
|
||||
//
|
||||
// #debug "\n\nDiffuse values:"
|
||||
// #debug concat("\nD_GoldA = ",str(D_GoldA, 5, 5))
|
||||
// #debug concat("\nD_GoldB = ",str(D_GoldB, 5, 5))
|
||||
// #debug concat("\nD_GoldC = ",str(D_GoldC, 5, 5))
|
||||
// #debug concat("\nD_GoldD = ",str(D_GoldD, 5, 5))
|
||||
// #debug concat("\nD_GoldE = ",str(D_GoldE, 5, 5))
|
||||
// #debug "\n"
|
||||
|
||||
#declare M = 1; // Metallic amount
|
||||
|
||||
//*****Finishes****
|
||||
// Left column, dullest & darkest
|
||||
#declare F_MetalA =
|
||||
finish {
|
||||
brilliance 2
|
||||
diffuse D_GoldA
|
||||
ambient A_GoldA
|
||||
reflection R_GoldA
|
||||
metallic M
|
||||
specular 0.20
|
||||
roughness 1/20
|
||||
}
|
||||
|
||||
#declare F_MetalB =
|
||||
finish {
|
||||
brilliance 3
|
||||
diffuse D_GoldB
|
||||
ambient A_GoldB
|
||||
reflection R_GoldB
|
||||
metallic M
|
||||
specular 0.30
|
||||
roughness 1/60
|
||||
}
|
||||
|
||||
#declare F_MetalC =
|
||||
finish {
|
||||
brilliance 4
|
||||
diffuse D_GoldC
|
||||
ambient A_GoldC
|
||||
reflection R_GoldC
|
||||
metallic M
|
||||
specular 0.60
|
||||
roughness 1/80
|
||||
}
|
||||
|
||||
#declare F_MetalD =
|
||||
finish {
|
||||
brilliance 5
|
||||
diffuse D_GoldD
|
||||
ambient A_GoldD
|
||||
reflection R_GoldD
|
||||
metallic M
|
||||
specular 0.70
|
||||
roughness 1/100
|
||||
}
|
||||
|
||||
#declare F_MetalE =
|
||||
finish {
|
||||
brilliance 6
|
||||
diffuse D_GoldE
|
||||
ambient A_GoldE
|
||||
reflection R_GoldE
|
||||
metallic M
|
||||
specular 0.80
|
||||
roughness 1/120
|
||||
}
|
||||
|
||||
// GOLDS
|
||||
#declare T_Gold_1A = texture { pigment { P_Gold1 } finish { F_MetalA } }
|
||||
#declare T_Gold_1B = texture { pigment { P_Gold1 } finish { F_MetalB } }
|
||||
#declare T_Gold_1C = texture { pigment { P_Gold1 } finish { F_MetalC } }
|
||||
#declare T_Gold_1D = texture { pigment { P_Gold1 } finish { F_MetalD } }
|
||||
#declare T_Gold_1E = texture { pigment { P_Gold1 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Gold_2A = texture { pigment { P_Gold2 } finish { F_MetalA } }
|
||||
#declare T_Gold_2B = texture { pigment { P_Gold2 } finish { F_MetalB } }
|
||||
#declare T_Gold_2C = texture { pigment { P_Gold2 } finish { F_MetalC } }
|
||||
#declare T_Gold_2D = texture { pigment { P_Gold2 } finish { F_MetalD } }
|
||||
#declare T_Gold_2E = texture { pigment { P_Gold2 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Gold_3A = texture { pigment { P_Gold3 } finish { F_MetalA } }
|
||||
#declare T_Gold_3B = texture { pigment { P_Gold3 } finish { F_MetalB } }
|
||||
#declare T_Gold_3C = texture { pigment { P_Gold3 } finish { F_MetalC } }
|
||||
#declare T_Gold_3D = texture { pigment { P_Gold3 } finish { F_MetalD } }
|
||||
#declare T_Gold_3E = texture { pigment { P_Gold3 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Gold_4A = texture { pigment { P_Gold4 } finish { F_MetalA } }
|
||||
#declare T_Gold_4B = texture { pigment { P_Gold4 } finish { F_MetalB } }
|
||||
#declare T_Gold_4C = texture { pigment { P_Gold4 } finish { F_MetalC } }
|
||||
#declare T_Gold_4D = texture { pigment { P_Gold4 } finish { F_MetalD } }
|
||||
#declare T_Gold_4E = texture { pigment { P_Gold4 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Gold_5A = texture { pigment { P_Gold5 } finish { F_MetalA } }
|
||||
#declare T_Gold_5B = texture { pigment { P_Gold5 } finish { F_MetalB } }
|
||||
#declare T_Gold_5C = texture { pigment { P_Gold5 } finish { F_MetalC } }
|
||||
#declare T_Gold_5D = texture { pigment { P_Gold5 } finish { F_MetalD } }
|
||||
#declare T_Gold_5E = texture { pigment { P_Gold5 } finish { F_MetalE } }
|
||||
|
||||
//The following #declares are needed for stage_xz.pov
|
||||
|
||||
#declare T01 = texture { T_Gold_1A }
|
||||
#declare T02 = texture { T_Gold_1B }
|
||||
#declare T03 = texture { T_Gold_1C }
|
||||
#declare T04 = texture { T_Gold_1D }
|
||||
#declare T05 = texture { T_Gold_1E }
|
||||
|
||||
#declare T06 = texture { T_Gold_2A }
|
||||
#declare T07 = texture { T_Gold_2B }
|
||||
#declare T08 = texture { T_Gold_2C }
|
||||
#declare T09 = texture { T_Gold_2D }
|
||||
#declare T10 = texture { T_Gold_2E }
|
||||
|
||||
#declare T11 = texture { T_Gold_3A }
|
||||
#declare T12 = texture { T_Gold_3B }
|
||||
#declare T13 = texture { T_Gold_3C }
|
||||
#declare T14 = texture { T_Gold_3D }
|
||||
#declare T15 = texture { T_Gold_3E }
|
||||
|
||||
#declare T16 = texture { T_Gold_4A }
|
||||
#declare T17 = texture { T_Gold_4B }
|
||||
#declare T18 = texture { T_Gold_4C }
|
||||
#declare T19 = texture { T_Gold_4D }
|
||||
#declare T20 = texture { T_Gold_4E }
|
||||
|
||||
#declare T21 = texture { T_Gold_5A }
|
||||
#declare T22 = texture { T_Gold_5B }
|
||||
#declare T23 = texture { T_Gold_5C }
|
||||
#declare T24 = texture { T_Gold_5D }
|
||||
#declare T25 = texture { T_Gold_5E }
|
||||
|
||||
#version Gold_Inc_Temp;
|
||||
#end
|
||||
227
distribution/include/ior.inc
Normal file
|
|
@ -0,0 +1,227 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.7 Include File
|
||||
// File: ior.inc
|
||||
// Last updated: 2010.12.12
|
||||
// Description: This file contains constants for ior and dispersion of various materials.
|
||||
|
||||
#ifndef(Ior_Inc_Temp)
|
||||
#declare Ior_Inc_Temp=version;
|
||||
#version 3.7;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including ior.inc\n"
|
||||
#end
|
||||
|
||||
// Index Of Refraction and Dispersion of various materials
|
||||
// =======================================================
|
||||
|
||||
// Original 2008-2009 by Christoph Lipka
|
||||
|
||||
// Notes on literature:
|
||||
//
|
||||
// * Refractive index is typically denoted with the symbol "n" (sometimes "N"), optionally followed by a subscript designating
|
||||
// the specific conditions under which measurements were made. Common subscripts are:
|
||||
// - Greek lower case letters omega and epsilon:
|
||||
// These are related to birefringence (i.e. the property of a material to refract light at two different angles, splitting up
|
||||
// the light according to polarization).
|
||||
// Since PoV-ray currently doesn't support bireferingence at all, we can ignore this effect and use an average of the values.
|
||||
// - Greek lower case letters alpha, beta and gamma:
|
||||
// These are related to biaxial birefringence, aka trirefringence. Again, no PoV-ray support.
|
||||
// Sometimes, Nx, Ny and Nz or simply alpha, beta and gamma are used for n[alpha], n[beta], n[gamma].
|
||||
// - Latin uppercase (sometimes lowercase) letters:
|
||||
// These are related to the wavelength of the light; the letter denotes the corresponding "Fraunhofer line", a series of
|
||||
// distinct spectral lines in natural sunlight, with the following being most common:
|
||||
// B 686.719nm extreme red molecular Oxygen (O2)
|
||||
// C 656.281nm red Hydrogen (H)
|
||||
// D 589.29 nm yellow Sodium (Na); center of D1 and D2 ("Sodium doublet")
|
||||
// F 486.134nm blue Hydrogen (H)
|
||||
// G 430.78 nm violet Iron (Fe, 430.790nm) or Calcium (Ca, 430.774 nm)
|
||||
// h 410.175nm violet Hydrogen (H); Balmer series delta; alternatively center of delta and epsilon (404.7 nm)
|
||||
// - If no further designation is used, the refractive index is usually measured for Fraunhofer line "D".
|
||||
// The PoV-ray documentation does not specify which color (let alone wavelength) is considered "neutral" with respect to
|
||||
// dispersion, so I suggest using nD, if only for simplicity.
|
||||
//
|
||||
// * Dispersion is typically characterized in one of the following ways:
|
||||
// - A (typically undesignated) value in order of magnitude ~0.010:
|
||||
// Such a value specifies the difference of the refractive indices for two given wavelengths. Usually, nG-nB is specified.
|
||||
// Differences between other wavelengths will be denoted accordingly as e.g. "nF-nC".
|
||||
// This is often seen with natural minerals.
|
||||
// - The so-called "Abbe number":
|
||||
// This value specifies the quotient (nD-1)/(nF-nC).
|
||||
// This is often seen with industrial mass products, especially glass and common glass substitutes.
|
||||
// - By refractive indices for individual wavelengths.
|
||||
// This is often seen with industrial high-end products.
|
||||
// PoV-ray characterizes dispersion as the quotient of refractive indices for "violet" and "red"; assuming that this roughly
|
||||
// matches nG and nB respectively, the value to be used can quite easily be approximated from nG-nB and the overall index of
|
||||
// refraction, as long as nG-nB is significantly small (which in practice it always is).
|
||||
// Approximating the PoV-ray "dispersion" value from the Abbe number is not so straightforward though, as this is based on a
|
||||
// different wavelength interval, and the index of refraction is not linear with respect to wavelength.
|
||||
// Approximating the PoV-ray "dispersion" value from individual wavelengths is again an easy task of course, provided that the
|
||||
// wavelengths of two of the known refractive indices qualify as "violet" and "red" respectively.
|
||||
//
|
||||
// Other notes:
|
||||
//
|
||||
// * Not all of the materials listed below are typically transparent. The refractive indices may nonetheless be of interest
|
||||
// in subsurface scattering simulation, or to properly simulate a polished gem's reflection using the fresnel keyword,
|
||||
// so I included them here as I happened to come across them.
|
||||
// * Some materials have varying optical properties or exhibit birefringence, making it impossible to specify a single exact
|
||||
// refractive index; in such cases, a typical average value was chosen.
|
||||
|
||||
|
||||
// Formula to approximate PoV-ray's "dispersion" value
|
||||
// ---------------------------------------------------
|
||||
|
||||
#declare FnPovDispersion = function(ri,disp) { 1+disp/(ri-disp/2) } // from refractive index ri (=nD) and nominal dispersion disp (=nG-nB)
|
||||
|
||||
|
||||
// Common glass types by Schott designations
|
||||
// -----------------------------------------
|
||||
|
||||
// Note: For these, the POV values are computed here according to the Fraunhofer lines h (404.7 nm), D and C
|
||||
|
||||
#macro Ior (data) (data.y) #end
|
||||
#macro Disp(data) (FnPovDispersion(data.y, data.x-data.z)) #end
|
||||
|
||||
#local iorData=<1.58941, 1.57241, 1.56949>; #declare iorCrownGlassBaK1 = Ior(iorData); #declare dispCrownGlassBaK1 = Disp(iorData);
|
||||
#local iorData=<1.53024, 1.51673, 1.51432>; #declare iorCrownGlassBK7 = Ior(iorData); #declare dispCrownGlassBK7 = Disp(iorData);
|
||||
|
||||
#local iorData=<1.65064, 1.61989, 1.61503>; #declare iorFlintGlassF2 = Ior(iorData); #declare dispFlintGlassF2 = Disp(iorData);
|
||||
#local iorData=<1.89844, 1.85002, 1.84256>; #declare iorFlintGlassLaSFN9 = Ior(iorData); #declare dispFlintGlassLaSFN9 = Disp(iorData);
|
||||
#local iorData=<1.84208, 1.78446, 1.77599>; #declare iorFlintGlassSF11 = Ior(iorData); #declare dispFlintGlassSF11 = Disp(iorData);
|
||||
|
||||
#declare iorCrownGlass = iorCrownGlassBK7; #declare dispCrownGlass = dispCrownGlassBK7; // most common crown glass
|
||||
#declare iorFlintGlass = iorFlintGlassSF11; #declare dispFlintGlass = dispFlintGlassSF11; // a common flint glass
|
||||
#declare iorWindowGlass = iorCrownGlassBK7; #declare dispWindowGlass = dispCrownGlassBK7;
|
||||
#declare iorGlass = iorWindowGlass; #declare dispGlass = dispWindowGlass;
|
||||
|
||||
#undef Ior
|
||||
#undef Disp
|
||||
|
||||
|
||||
// Gemstones by alphabet (excluding variants and aliases)
|
||||
// ------------------------------------------------------
|
||||
|
||||
// Note: For these, the POV values are computed here directly from the refractive index and dispersion values found in literature;
|
||||
// Where refractive indices at selected wavelengths were found instead, these values were precomputed from the refractive indices at
|
||||
// Fraunhofer lines G, D and B respectively.
|
||||
|
||||
#macro Ior (data) (data.x) #end
|
||||
#macro Disp(data) (FnPovDispersion(data.x, data.y)) #end
|
||||
|
||||
#local iorData=<1.790, .024>; #declare iorAlmandineGarnet = Ior(iorData); #declare dispAlmandineGarnet = Disp(iorData);
|
||||
#local iorData=<1.64, .016>; #declare iorAndalusite = Ior(iorData); #declare dispAndalusite = Disp(iorData);
|
||||
#local iorData=<1.888, .057>; #declare iorAndraditeGarnet = Ior(iorData); #declare dispAndraditeGarnet = Disp(iorData);
|
||||
#local iorData=<1.63, .013>; #declare iorApatite = Ior(iorData); #declare dispApatite = Disp(iorData);
|
||||
#local iorData=<1.58, .014>; #declare iorBeryl = Ior(iorData); #declare dispBeryl = Disp(iorData);
|
||||
#local iorData=<1.69, .019>; #declare iorChromeDiopside = Ior(iorData); #declare dispChromeDiopside = Disp(iorData);
|
||||
#local iorData=<1.746, .015>; #declare iorChrysoberyl = Ior(iorData); #declare dispChrysoberyl = Disp(iorData);
|
||||
#local iorData=<2.16, .060>; #declare iorCubicZirconia = Ior(iorData); #declare dispCubicZirconia = Disp(iorData); // [1] NOT Zircon!
|
||||
#local iorData=<1.766, .018>; #declare iorCorundum = Ior(iorData); #declare dispCorundum = Disp(iorData);
|
||||
#local iorData=<1.885, .057>; #declare iorDemantoidGarnet = Ior(iorData); #declare dispDemantoidGarnet = Disp(iorData);
|
||||
#local iorData=<2.417, .044>; #declare iorDiamond = Ior(iorData); #declare dispDiamond = Disp(iorData);
|
||||
#local iorData=<1.434, .007>; #declare iorFluorite = Ior(iorData); #declare dispFluorite = Disp(iorData);
|
||||
#local iorData=<1.740, .028>; #declare iorGrossulariteGarnet = Ior(iorData); #declare dispGrossulariteGarnet = Disp(iorData);
|
||||
#local iorData=<1.55, .017>; #declare iorIolite = Ior(iorData); #declare dispIolite = Disp(iorData);
|
||||
#local iorData=<1.73, .020>; #declare iorKyanite = Ior(iorData); #declare dispKyanite = Disp(iorData);
|
||||
#local iorData=<1.654, .020>; #declare iorPeridot = Ior(iorData); #declare dispPeridot = Disp(iorData);
|
||||
#local iorData=<1.74, .022>; #declare iorPyropeGarnet = Ior(iorData); #declare dispPyropeGarnet = Disp(iorData);
|
||||
#local iorData=<1.544, .013>; #declare iorQuartz = Ior(iorData); #declare dispQuartz = Disp(iorData);
|
||||
#local iorData=<1.76, .026>; #declare iorRhodoliteGarnet = Ior(iorData); #declare dispRhodoliteGarnet = Disp(iorData);
|
||||
#local iorData=<1.81, .027>; #declare iorSpessartiteGarnet = Ior(iorData); #declare dispSpessartiteGarnet = Disp(iorData);
|
||||
#local iorData=<1.70, .051>; #declare iorSphene = Ior(iorData); #declare dispSphene = Disp(iorData); // [2]
|
||||
#local iorData=<1.712, .020>; #declare iorSpinel = Ior(iorData); #declare dispSpinel = Disp(iorData);
|
||||
#local iorData=<1.620, .014>; #declare iorTopaz = Ior(iorData); #declare dispTopaz = Disp(iorData);
|
||||
#local iorData=<1.624, .017>; #declare iorTourmaline = Ior(iorData); #declare dispTourmaline = Disp(iorData);
|
||||
#local iorData=<1.740, .028>; #declare iorTsavoriteGarnet = Ior(iorData); #declare dispTsavoriteGarnet = Disp(iorData);
|
||||
|
||||
#local iorData=<1.67, .017>; #declare iorSpodumene = Ior(iorData); #declare dispSpodumene = Disp(iorData);
|
||||
#local iorData=<1.95, .039>; #declare iorZircon = Ior(iorData); #declare dispZircon = Disp(iorData); // [3] NOT [Cubic] Zirconia!
|
||||
#local iorData=<1.70, .030>; #declare iorZoisite = Ior(iorData); #declare dispZoisite = Disp(iorData);
|
||||
|
||||
#undef Ior
|
||||
#undef Disp
|
||||
|
||||
// Values from other sources:
|
||||
// [1] ior = 1.80 .. 2.23 (lower bound dubious, maybe mixup with Zircon)
|
||||
// [2] ior = 1.88 .. 2.05
|
||||
// [3] ior = 1.88
|
||||
|
||||
|
||||
// Variants by alphabet
|
||||
// --------------------
|
||||
|
||||
#declare iorAgate = iorQuartz; #declare dispAgate = dispQuartz;
|
||||
#declare iorAlexandrite = iorChrysoberyl; #declare dispAlexandrite = dispChrysoberyl;
|
||||
#declare iorAmethyst = iorQuartz; #declare dispAmethyst = dispQuartz;
|
||||
#declare iorAmetrine = iorQuartz; #declare dispAmetrine = dispQuartz;
|
||||
#declare iorAquamarine = iorBeryl; #declare dispAquamarine = dispBeryl;
|
||||
#declare iorAventurine = iorQuartz; #declare dispAventurine = dispQuartz;
|
||||
#declare iorChalcedony = iorQuartz; #declare dispChalcedony = dispQuartz;
|
||||
#declare iorCitrine = iorQuartz; #declare dispCitrine = dispQuartz;
|
||||
#declare iorEmerald = iorBeryl; #declare dispEmerald = dispBeryl;
|
||||
#declare iorHiddenite = iorSpodumene; #declare dispHiddenite = dispSpodumene;
|
||||
#declare iorKunzite = iorSpodumene; #declare dispKunzite = dispSpodumene;
|
||||
#declare iorMorganite = iorBeryl; #declare dispMorganite = dispBeryl;
|
||||
#declare iorOnyx = iorQuartz; #declare dispOnyx = dispQuartz;
|
||||
#declare iorPadparadscha = iorCorundum; #declare dispPadparadscha = dispCorundum;
|
||||
#declare iorRoseQuartz = iorQuartz; #declare dispRoseQuartz = dispQuartz;
|
||||
#declare iorRuby = iorCorundum; #declare dispRuby = dispCorundum;
|
||||
#declare iorSapphire = iorCorundum; #declare dispSapphire = dispCorundum;
|
||||
#declare iorSmokyQuartz = iorQuartz; #declare dispSmokyQuartz = dispQuartz;
|
||||
#declare iorTanzanite = iorZoisite; #declare dispTanzanite = dispZoisite;
|
||||
#declare iorTigersEye = iorQuartz; #declare dispTigersEye = dispQuartz;
|
||||
|
||||
|
||||
// Aliases by alphabet
|
||||
// -------------------
|
||||
|
||||
#declare iorCyanite = iorKyanite; #declare dispCyanite = dispKyanite;
|
||||
#declare iorCZ = iorCubicZirconia; #declare dispCZ = dispCubicZirconia;
|
||||
#declare iorDisthene = iorKyanite; #declare dispDisthene = dispKyanite;
|
||||
#declare iorGarnetAlmandine = iorAlmandineGarnet; #declare dispGarnetAlmandine = dispAlmandineGarnet;
|
||||
#declare iorGarnetAndradite = iorAndraditeGarnet; #declare dispGarnetAndradite = dispAndraditeGarnet;
|
||||
#declare iorGarnetDemantoid = iorDemantoidGarnet; #declare dispGarnetDemantoid = dispDemantoidGarnet;
|
||||
#declare iorGarnetGrossularite = iorGrossulariteGarnet; #declare dispGarnetGrossularite = dispGrossulariteGarnet;
|
||||
#declare iorGarnetPyrope = iorPyropeGarnet; #declare dispGarnetPyrope = dispPyropeGarnet;
|
||||
#declare iorGarnetRhodolite = iorRhodoliteGarnet; #declare dispGarnetRhodolite = dispRhodoliteGarnet;
|
||||
#declare iorGarnetSpessartite = iorSpessartiteGarnet; #declare dispGarnetSpessartite = dispSpessartiteGarnet;
|
||||
#declare iorGarnetTsavorite = iorTsavoriteGarnet; #declare dispGarnetTsavorite = dispTsavoriteGarnet;
|
||||
#declare iorMunkrudite = iorKyanite; #declare dispMunkrudite = dispKyanite;
|
||||
#declare iorZirconia = iorCubicZirconia; #declare dispZirconia = dispCubicZirconia; // NOT Zircon!
|
||||
|
||||
|
||||
// Odds and ends
|
||||
// -------------
|
||||
|
||||
// Note: For these, I found information on refractive indices but none about dispersion
|
||||
|
||||
#declare iorAdulariaMoonstone = 1.52;
|
||||
#declare iorAmazonite = 1.53;
|
||||
#declare iorAmber = 1.54;
|
||||
#declare iorAndesine = 1.53;
|
||||
#declare iorCoral = 1.486;
|
||||
#declare iorIvory = 1.540;
|
||||
#declare iorJadeite = 1.67; // "hard jade"
|
||||
#declare iorJasper = 1.54;
|
||||
#declare iorLabradorite = 1.56;
|
||||
#declare iorLapisLazuli = 1.5; // lazurite compound; other sources: nD = 1.610
|
||||
#declare iorMalachite = 1.655;
|
||||
#declare iorMoissanite = 2.670; // (Silicon Carbide)
|
||||
#declare iorNephriteJade = 1.62; // "soft jade"
|
||||
#declare iorOpal = 1.45;
|
||||
#declare iorOrthoclase = 1.52;
|
||||
#declare iorPearl = 1.53;
|
||||
#declare iorPrehnite = 1.64;
|
||||
#declare iorTurquoise = 1.610;
|
||||
|
||||
#declare iorJadeNephrite = iorNephriteJade;
|
||||
#declare iorFireOpal = iorOpal;
|
||||
#declare iorMoonstoneAdularia = iorAdulariaMoonstone;
|
||||
#declare iorMossOpal = iorOpal;
|
||||
|
||||
// end of ior.inc
|
||||
#version Ior_Inc_Temp;
|
||||
#end
|
||||
109
distribution/include/logo.inc
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Raytracer Version 3.5 Scene Description File
|
||||
|
||||
#ifndef(Logo_Inc_Temp)
|
||||
#declare Logo_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
/*
|
||||
The official POV-Ray Logo
|
||||
Designed by Chris Colefax
|
||||
|
||||
This logo was the one that won the POV-Ray Logo Contest
|
||||
held and organized by Rune S. Johansen in year 2000 and
|
||||
monitored by the POV-Team.
|
||||
|
||||
Comment from Chris Colefax:
|
||||
|
||||
"This logo (or symbol, rather) attempts to encapsulate a
|
||||
number of ideas. Firstly, the symbol represents an eye with
|
||||
a ray being traced from it, capturing the fundamentally
|
||||
visual nature of POV-Ray and the rendering process POV-Ray
|
||||
uses. More obviously, it's a P, and both an O and a V can
|
||||
be seen in it as well, making the symbol specific to (and
|
||||
immediately identifiable with) POV-Ray, rather than
|
||||
raytracing in general. The basic symbol itself is a simple
|
||||
CSG construction composed of five POV-Ray primitives. The
|
||||
simplicity of the symbol means that it can be presented
|
||||
recognisably in a range of ways, from a graphical 2D logo
|
||||
to a full blown rendering, or incorporated discreetly into
|
||||
other designs and images."
|
||||
|
||||
|
||||
Prism version and bevel version by Rune S. Johansen.
|
||||
|
||||
*/
|
||||
|
||||
#include "shapes.inc"
|
||||
|
||||
// The original version is made of various objects.
|
||||
#declare Povray_Logo =
|
||||
merge {
|
||||
sphere {2*y, 1}
|
||||
difference {
|
||||
cone {2*y, 1, -4*y, 0}
|
||||
sphere {2*y, 1.4 scale <1,1,2>}
|
||||
}
|
||||
difference {
|
||||
sphere {0, 1 scale <2.6, 2.2, 1>}
|
||||
sphere {0, 1 scale <2.3, 1.8, 2> translate <-0.35, 0, 0>}
|
||||
rotate z*30 translate 2*y
|
||||
}
|
||||
rotate <0, 0, -25>
|
||||
translate <-0.5,-0.35,0>
|
||||
scale 1/4
|
||||
}
|
||||
|
||||
// The prism version is not really made of a prism object alone,
|
||||
// but it looks that way.
|
||||
#declare Povray_Logo_Prism =
|
||||
merge {
|
||||
cylinder {-z, z, 1 translate 2*y}
|
||||
difference {
|
||||
prism {-0.9999, 0.9999, 4, <-1,2>, <1,2>, <0,-4>, <-1,2> rotate -90*x}
|
||||
cylinder {-z, z, 1.4 scale <1,0.9,1.1> translate 1.9*y}
|
||||
}
|
||||
difference {
|
||||
cylinder {-z, z, 1 scale <2.6, 2.2, 1>}
|
||||
cylinder {-z, z, 1 scale <2.22, 1.72, 1.1> translate <-0.43, 0, 0>}
|
||||
rotate z*30 translate 2*y
|
||||
}
|
||||
rotate <0, 0, -25>
|
||||
translate <-0.5,-0.35,0>
|
||||
scale <1/4,1/4,1/8>
|
||||
}
|
||||
|
||||
// The bevel version has its base at the xy plane and
|
||||
// is beveled in 45 degrees in the -z direction.
|
||||
// Intersect the object with a plane to get a flat object
|
||||
// with beveled edges.
|
||||
#declare Povray_Logo_Bevel =
|
||||
merge {
|
||||
cone {0, 1, z, 0 translate 2*y}
|
||||
difference {
|
||||
box {<-0.8,-4,0>, <0.8,0.9,0.7>}
|
||||
object{Supercone(-0.0001*z, 1.4,1.26, 1.0001*z, 2.4,2.26) translate 1.9*y}
|
||||
plane {vrotate( x-z, degrees(atan2(1/6,1))*z), 0 translate -4*y}
|
||||
plane {vrotate(-x-z,-degrees(atan2(1/6,1))*z), 0 translate -4*y}
|
||||
}
|
||||
difference {
|
||||
object{Supercone(0, 2.6,2.2, z, 1.6,1.2)}
|
||||
object{Supercone(-0.0001*z, 2.22,1.72, 1.0001*z, 3.22,2.72) translate -0.43*x}
|
||||
clipped_by {
|
||||
difference {
|
||||
cylinder { 0.0*z, 0.5*z, 1 scale <2.60,2.20,1.0>}
|
||||
cylinder {-0.1*z, 0.6*z, 1 scale <2.22,1.72,1.1> translate -0.43*x}
|
||||
}
|
||||
}
|
||||
rotate z*30 translate 2*y
|
||||
}
|
||||
rotate <0, 0, -25>
|
||||
translate <-0.5,-0.35,0>
|
||||
scale <1,1,-1>/4
|
||||
}
|
||||
|
||||
#version Logo_Inc_Temp;
|
||||
#end
|
||||
354
distribution/include/makegrass.inc
Normal file
|
|
@ -0,0 +1,354 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.6 / 3.7 Include File
|
||||
// File: makegrass.inc
|
||||
// --------------------------------------
|
||||
// Author: Gilles Tran, 1999-2004, http://www.oyonale.com
|
||||
// former mgrass.pov by Gilles Tran
|
||||
// Updated for POV-Ray 3.7: March-2013
|
||||
//
|
||||
// Description: macros for creating grass.
|
||||
// ================================================
|
||||
// This file presents 3 macros
|
||||
// MakeBlade() creates an individual blade of grass
|
||||
// MakeGrassPatch() creates a patch of grass (mesh)
|
||||
// optional with saving the mesh in a text file
|
||||
// MakePrairie() creates a prairie of grass patches
|
||||
// ------------------------------------------------
|
||||
|
||||
#ifndef( makegrass_Inc_Temp)
|
||||
#declare makegrass_Inc_Temp=version;
|
||||
#version 3.6;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including makegrass.inc\n"
|
||||
#end
|
||||
|
||||
//==============================================
|
||||
// MakeBlade macro
|
||||
//==============================================
|
||||
// The MakeBlade macro creates a grass blade with a central fold
|
||||
// The blade is positionned at posBlade and rotated around the y axis according to segBlade
|
||||
// Its length is lBlade.
|
||||
// The blade bends from vector startBend to vector endBend
|
||||
// The describes how the curbe bends; low power bend faster
|
||||
// --------------------------------------
|
||||
// It first creates an array of points (vertices)
|
||||
// Then it calculates the normals (optional)
|
||||
/*
|
||||
#declare doSmooth = true; // smooth triangles
|
||||
#declare posBlade = <0,0,0>; // position of blade
|
||||
#declare rotBlade = 100; // rotation of blade around y
|
||||
#declare segBlade= 20; // number of blade segments - try low values (5 for instance) for tests
|
||||
#declare lBlade = 10; // length of blade
|
||||
#declare xBladeStart = 1; // width of blade at start
|
||||
#declare xBladeEnd = 0.1; // width of blade at the end
|
||||
#declare zBladeStart = 0.5; // depth of blade fold at start
|
||||
#declare startBend = <0,1,0>; // bending of blade at start (<0,1,0>=no bending)
|
||||
#declare vBend = <0,0,1>; // force bending the blade (<0,1,1> = 45°)
|
||||
#declare pwBend = 1; // bending power (how slowly the curve bends)
|
||||
#declare dofold = false; // true creates a fold in the blade (twice more triangles)
|
||||
#declare dofile = false; // true creates a mesh file
|
||||
// --------------------------------------
|
||||
*/
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------
|
||||
#macro MakeBlade( doSmooth, // 0 or 1,// smooth triangles
|
||||
posBlade, // <0,0,0>,// position of blade
|
||||
rotBlade, // 00,// rotation of blade around y
|
||||
segBlade, // 20,// number of blade segments, try low values (5 for instance) for tests
|
||||
lBlade, // 10,// length of blade
|
||||
xBladeStart, // 1,// width of blade at start
|
||||
xBladeEnd, // 0.1,// width of blade at the end
|
||||
zBladeStart, // 0.5,// depth of blade fold at start
|
||||
startBend, //<0,1,0.3>,// bending of blade at start (<0,1,0>=no bending)
|
||||
vBend, // <0,0,1>,// force bending the blade (<0,1,1> = 45°)
|
||||
pwBend, // 1,// bending power (how slowly the curve bends)
|
||||
dofold, // 0 or 1,// true or 1 creates a fold in the blade (twice more triangles)
|
||||
dofile // 0 or 1,// true or 1 creates a mesh file
|
||||
) //--------------------------------------------------------------------------------------------
|
||||
#local lsegBlade=lBlade/segBlade;
|
||||
#if (dofold=true)
|
||||
#local nI=3;
|
||||
#else
|
||||
#local nI=2;
|
||||
#end
|
||||
#local nJ=segBlade+1;
|
||||
#local nP=nI*nJ;
|
||||
#local P=array[nP]
|
||||
#local N=array[nP]
|
||||
#local pBlade=<0,0,0>;
|
||||
#local Count=0;
|
||||
#local xBlade=xBladeStart;
|
||||
#local zBlade=zBladeStart;
|
||||
#if (dofold=true)
|
||||
#local P[0]=vaxis_rotate(-x*xBlade,y,rotBlade)+posBlade;
|
||||
#local P[1]=vaxis_rotate(z*zBlade,y,rotBlade)+posBlade;
|
||||
#local P[2]=vaxis_rotate(x*xBlade,y,rotBlade)+posBlade;
|
||||
#else
|
||||
#local P[0]=vaxis_rotate(-x*xBlade,y,rotBlade)+posBlade;
|
||||
#local P[1]=vaxis_rotate(x*xBlade,y,rotBlade)+posBlade;
|
||||
|
||||
#end
|
||||
#local Count=1;
|
||||
#local pBlade=vnormalize(startBend)*lsegBlade;
|
||||
// --------------------------------------
|
||||
// Fills the array of points
|
||||
// --------------------------------------
|
||||
#while (Count<nJ)
|
||||
#local tBlade=Count/segBlade;
|
||||
// This is where the blade shape is defined
|
||||
#local pBlade=pBlade+lsegBlade*vnormalize(vnormalize(pBlade)+ vBend*pow(tBlade,pwBend));
|
||||
#local xBlade=xBladeStart+tBlade*(xBladeEnd-xBladeStart);
|
||||
#if (dofold=true)
|
||||
#local zBlade=zBladeStart*(1-tBlade);
|
||||
#local P[Count*nI]=vaxis_rotate(pBlade-x*xBlade,y,rotBlade)+posBlade;
|
||||
#local P[Count*nI+1]=vaxis_rotate(pBlade+z*zBlade,y,rotBlade)+posBlade;
|
||||
#local P[Count*nI+2]=vaxis_rotate(pBlade+x*xBlade,y,rotBlade)+posBlade;
|
||||
#else
|
||||
#local P[Count*nI]=vaxis_rotate(pBlade-x*xBlade,y,rotBlade)+posBlade;
|
||||
#local P[Count*nI+1]=vaxis_rotate(pBlade+x*xBlade,y,rotBlade)+posBlade;
|
||||
#end
|
||||
#local Count=Count+1;
|
||||
#end
|
||||
// --------------------------------------
|
||||
// Calculates normals if doSmooth = true
|
||||
// --------------------------------------
|
||||
#if (doSmooth=true)
|
||||
#local N = array[nP] // Normales
|
||||
#local q=0;
|
||||
#while (q<nP)
|
||||
#local i=mod(q,nI);#local j=(q-i)/nI;
|
||||
#local V0 = q-nI-1;#if (i=0) #local V0=-1; #end
|
||||
#local V1 = q-nI;
|
||||
#local V2 = q-nI+1;#if (i=nI-1) #local V2=-1; #end
|
||||
#local V3 = q-1;#if (i=0) #local V3=-1; #end
|
||||
#local V4 = q;
|
||||
#local V5 = q+1;#if (i=nI-1) #local V5=-1; #end
|
||||
#local V6 = q+nI-1;#if (i=0) #local V6=-1; #end
|
||||
#local V7 = q+nI;
|
||||
#local V8 = q+nI+1;#if (i=nI-1) #local V8=-1; #end
|
||||
|
||||
#if (j=0) #local V0=-1;#local V1=-1;#local V2=-1;#end
|
||||
#if (j=nJ-1) #local V6=-1;#local V7=-1;#local V8=-1; #end
|
||||
|
||||
#local N[q]=<0,0,0>;
|
||||
#local k=0;
|
||||
#if (V5>-1 & V8>-1) #local N[q]=N[q]+vcross(P[V4]-P[V5],P[V8]-P[V4]);#local k=k+1;#end
|
||||
#if (V2>-1 & V5>-1) #local N[q]=N[q]+vcross(P[V4]-P[V2],P[V5]-P[V4]);#local k=k+1;#end
|
||||
#if (V1>-1 & V2>-1) #local N[q]=N[q]+vcross(P[V4]-P[V1],P[V2]-P[V4]);#local k=k+1;#end
|
||||
#if (V0>-1 & V1>-1) #local N[q]=N[q]+vcross(P[V4]-P[V0],P[V1]-P[V4]);#local k=k+1;#end
|
||||
#if (V3>-1 & V0>-1) #local N[q]=N[q]+vcross(P[V4]-P[V3],P[V0]-P[V4]);#local k=k+1;#end
|
||||
#if (V6>-1 & V3>-1) #local N[q]=N[q]+vcross(P[V4]-P[V6],P[V3]-P[V4]);#local k=k+1;#end
|
||||
#if (V7>-1 & V6>-1) #local N[q]=N[q]+vcross(P[V4]-P[V7],P[V6]-P[V4]);#local k=k+1;#end
|
||||
#if (V8>-1 & V7>-1) #local N[q]=N[q]+vcross(P[V4]-P[V8],P[V7]-P[V4]);#local k=k+1;#end
|
||||
#local N[q]=N[q]/k;
|
||||
#local q=q+1;#end
|
||||
#end
|
||||
// --------------------------------------
|
||||
// Writes the triangles
|
||||
// --------------------------------------
|
||||
|
||||
#local q=0;
|
||||
#while (q<(nI*(nJ-1)-1))
|
||||
#local i=mod(q,nI);#local j=(q-i)/nI;
|
||||
#if (i <nI-1)
|
||||
#if (doSmooth=true)
|
||||
#if (dofile=true)
|
||||
#write(filehandle,"smooth_triangle{<",P[q].x,",",P[q].y,",",P[q].z,">,<",N[q].x,",",N[q].y,",",N[q].z,">,<",P[q+1].x,",",P[q+1].y,",",P[q+1].z,">,<",N[q+1].x,",",N[q+1].y,",",N[q+1].z,">,<",P[q+nI+1].x,",",P[q+nI+1].y,",",P[q+nI+1].z,">,<",N[q+nI+1].x,",",N[q+nI+1].y,",",N[q+nI+1].z,">}\n")
|
||||
#write(filehandle,"smooth_triangle{<",P[q].x,",",P[q].y,",",P[q].z,">,<",N[q].x,",",N[q].y,",",N[q].z,">,<",P[q+nI].x,",",P[q+nI].y,",",P[q+nI].z,">,<",N[q+nI].x,",",N[q+nI].y,",",N[q+nI].z,">,<",P[q+nI+1].x,",",P[q+nI+1].y,",",P[q+nI+1].z,">,<",N[q+nI+1].x,",",N[q+nI+1].y,",",N[q+nI+1].z,">}\n")
|
||||
#else
|
||||
smooth_triangle{P[q],N[q],P[q+1],N[q+1],P[q+nI+1],N[q+nI+1]}
|
||||
smooth_triangle{P[q],N[q],P[q+nI],N[q+nI],P[q+nI+1],N[q+nI+1]}
|
||||
#end
|
||||
|
||||
#else
|
||||
#if (dofile=true)
|
||||
#write(filehandle,"triangle{<",P[q].x,",",P[q].y,",",P[q].z,">,<",P[q+1].x,",",P[q+1].y,",",P[q+1].z,">,<",P[q+nI+1].x,",",P[q+nI+1].y,",",P[q+nI+1].z,">}\n")
|
||||
#write(filehandle,"triangle{<",P[q].x,",",P[q].y,",",P[q].z,">,<",P[q+nI].x,",",P[q+nI].y,",",P[q+nI].z,">,<",P[q+nI+1].x,",",P[q+nI+1].y,",",P[q+nI+1].z,">}\n")
|
||||
#else
|
||||
triangle{P[q],P[q+1],P[q+nI+1]}
|
||||
triangle{P[q],P[q+nI],P[q+nI+1]}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#local q=q+1;#end
|
||||
|
||||
#end
|
||||
// --------------------------------------
|
||||
// End of the MakeBlade macro
|
||||
//==============================================
|
||||
|
||||
//==============================================
|
||||
// MakeGrassPatch macro
|
||||
//==============================================
|
||||
// The MakeGrassPatch macro creates a grass patch by creating
|
||||
// individual blades with the MakeBlade macro
|
||||
// The resulting patch is a mesh of nBlade*nBlade individual blades
|
||||
// Its size is lPatch*lPatch
|
||||
// The main tuning parameters are segBlade and nBlade (keep low to test)
|
||||
// --------------------------------------
|
||||
// Patch parameters
|
||||
// --------------------------------------
|
||||
/*
|
||||
#declare lPatch=50; // size of patch
|
||||
#declare nBlade=40; // number of blades per line
|
||||
#declare ryBlade = 60; // initial y rotation of blade
|
||||
#declare segBlade= 15; // number of blade segments
|
||||
#declare lBlade = 15; // length of blade
|
||||
#declare wBlade = 1; // width of blade at start
|
||||
#declare wBladeEnd = 0.3; // width of blade at the end
|
||||
#declare doSmooth=false; // true makes smooth triangles
|
||||
#declare startBend = <0,1,0.3>; // bending of blade at start (<0,1,0>=no bending)
|
||||
#declare vBend = <0,-1,2>; // direction of the force bending the blade (<0,1,1> = 45°)
|
||||
#declare pwBend = 3; // bending power (how slowly the curve bends)
|
||||
#declare rd = 459; // seed
|
||||
#declare stdposBlade = 1; // standard deviation of blade position 0..1
|
||||
#declare stdrotBlade = 360; // standard deviation of rotation
|
||||
#declare stdBlade = 3; // standard deviation of blade scale;
|
||||
#declare stdBend = 0; // standard deviation of blade bending;
|
||||
#declare dofold = false; // true creates a central fold in the blade (twice more triangles)
|
||||
#declare dofile = true; // true creates a mesh file
|
||||
#declare fname = "fgrass.inc" // name of the mesh file to create
|
||||
// --------------------------------------
|
||||
*/
|
||||
// -------------------------------------------------------------------------------------------------------
|
||||
#macro MakeGrassPatch( lPatch, // 50, // size of patch
|
||||
nBlade, // 40, // number of blades per line
|
||||
ryBlade, // 60, // initial y rotation of blade
|
||||
segBlade, // 15, // number of blade segments
|
||||
lBlade, // 15, // length of blade
|
||||
wBlade, // 1, // width of blade at start
|
||||
wBladeEnd, // 0.3, // width of blade at the end
|
||||
|
||||
doSmooth, // 0 or 1, // true or 1 makes smooth triangles
|
||||
startBend,//<0,1,0.3>,// bending of blade at start (<0,1,0>=no bending)
|
||||
vBend, //<0,-1,2>, // direction of the force bending the blade (<0,1,1> = 45°)
|
||||
pwBend, // 3, // bending power (how slowly the curve bends)
|
||||
rd, //18264, // random seed
|
||||
stdposBlade, // 0..1, // standard deviation of blade position
|
||||
stdrotBlade, // 360, // standard deviation of rotation
|
||||
stdBlade, // 3, // standard deviation of blade scale
|
||||
stdBend, // 0, // standard deviation of blade bending
|
||||
dofold, //0 or 1, // true or 1 creates a central fold in the blade (twice more triangles)
|
||||
dofile, //0 or 1, // true or 1 creates a mesh file
|
||||
fname // "grass_01.inc" // string, name of the mesh file to create
|
||||
) //-------------------------------------------------------------------------------
|
||||
#if(dofile=true)
|
||||
#warning concat(fname," mesh file creation starts\n")
|
||||
|
||||
#fopen filehandle fname write // creates the leaf mesh (individual leaf)
|
||||
#write(filehandle,"mesh{\n")
|
||||
#else
|
||||
mesh{
|
||||
#end
|
||||
#local iBlade=lPatch/(nBlade-1);
|
||||
#local s1=seed(rd);
|
||||
#local zCount=0;
|
||||
#while (zCount<nBlade)
|
||||
#local xCount=0;
|
||||
|
||||
#while (xCount<nBlade)
|
||||
|
||||
#local posBlade=<xCount*iBlade,0,zCount*iBlade>+<iBlade*(0.5-rand(s1))*stdposBlade,0,iBlade*(0.5-rand(s1))*stdposBlade>;
|
||||
#local rotBlade=ryBlade+(0.5-rand(s1))*stdrotBlade;
|
||||
// #local lBladetmp=max(lBlade*0.3,lBlade+(0.5-rand(s1))*stdlBlade);
|
||||
#local scBlade=max(0.5,(0.5-rand(s1))*stdBlade*2);
|
||||
#local lBladetmp=lBlade*scBlade;
|
||||
#local xBladeStart=wBlade*scBlade;
|
||||
#local xBladeEnd=wBladeEnd*scBlade;
|
||||
#local zBladeStart=xBladeStart*0.5;
|
||||
#local vBendtmp=vBend + <(0.5-rand(s1))*0.3,0.5-rand(s1),rand(s1)>*stdBend;
|
||||
MakeBlade(doSmooth,posBlade,rotBlade,segBlade,lBladetmp,xBladeStart,xBladeEnd,zBladeStart,startBend,vBendtmp,pwBend,dofold,dofile)
|
||||
#warning concat("blade ",str(zCount*nBlade+xCount+1,0,0),"/",str(nBlade*nBlade,0,0),"\n")
|
||||
|
||||
#local xCount=xCount+1;
|
||||
#end
|
||||
#local zCount=zCount+1;
|
||||
#end
|
||||
|
||||
#if(dofile = true)
|
||||
#write (filehandle,"translate <",-lPatch/2,",0,",-lPatch/2,">}\n")
|
||||
#fclose filehandle
|
||||
#warning concat(fname," file created\n")
|
||||
#else
|
||||
translate <-lPatch/2,0,-lPatch/2>
|
||||
}
|
||||
|
||||
#end
|
||||
|
||||
#end
|
||||
// --------------------------------------
|
||||
// End of the MakeGrassPatch macro
|
||||
//==============================================
|
||||
|
||||
|
||||
//===============================================
|
||||
// MakePrairie macro
|
||||
// --------------------------------------
|
||||
// The MakePrairie macro creates a prairie by collating patches
|
||||
// along the z axis, starting with nxPrairie patches and adding addPatches patches
|
||||
// at each line, so that the prairie gets wider
|
||||
// Because the patch is a mesh object, you can have multiple copies of it without
|
||||
// running out of memory too soon
|
||||
// --------------------------------------
|
||||
/*
|
||||
#declare lPatch=50; //size of individual patches
|
||||
#declare nxPrairie=3; //number of patches for the first line
|
||||
#declare addPatches=1; //number of patches to add at each line
|
||||
#declare nzPrairie=5; //number of lines of patches
|
||||
#declare objectPatch=GrassPatch; //patch object
|
||||
#declare rd=seed(779); // random seed
|
||||
#declare stdscale=1; // stddev of scale
|
||||
#declare stdrotate=1; // stddev of rotation
|
||||
#declare doTest=false; // replaces the patch with a sphere
|
||||
// --------------------------------------
|
||||
*/
|
||||
//-----------------------------------------------------------------------------------
|
||||
#macro MakePrairie( lPatch, // 50, // size of individual patches
|
||||
nxPrairie, // 3, // number of patches for the first line
|
||||
addPatches, // 1, // number of patches to add at each line
|
||||
nzPrairie, // 5, // number of lines of patches
|
||||
objectPatch,// GrassPatch, // the name of the patch object
|
||||
rd, //779, // random seed
|
||||
stdscale, // 1, // stddev of scale
|
||||
stdrotate, // 1, // stddev of rotation
|
||||
doTest // 0 or 1, // replaces the patch with a sphere
|
||||
) //---------------------------------------------------------------
|
||||
union{
|
||||
#local zCount=0;
|
||||
#local nxCounttmp=nxPrairie;
|
||||
#local s2=seed(rd);
|
||||
#while (zCount<nzPrairie)
|
||||
#local xCount=0;
|
||||
|
||||
#while (xCount<nxCounttmp)
|
||||
|
||||
#if (doTest=true)
|
||||
// sphere{<-nxCounttmp*0.5+xCount,0,zCount>*lPatch,lPatch*0.5 pigment{Red} scale <1,0.2,1>}
|
||||
sphere{0,lPatch*0.5 pigment{Red} scale <1,0.2,1>
|
||||
scale (1+stdscale*rand(s2)) rotate y*360*(0.5-rand(rd))*stdrotate
|
||||
translate <xCount-(nxCounttmp-1)*0.5,0,zCount>*lPatch}
|
||||
#else
|
||||
object{ objectPatch
|
||||
scale (1+stdscale*rand(s2))
|
||||
rotate y*360*(0.5-rand(s2))*stdrotate
|
||||
translate <-(nxCounttmp-1)*0.5+xCount,0,zCount>*lPatch}
|
||||
#end
|
||||
#local xCount=xCount+1;
|
||||
#end
|
||||
#local nxCounttmp=nxCounttmp+addPatches;
|
||||
#local zCount=zCount+1;
|
||||
#end
|
||||
}
|
||||
#end
|
||||
|
||||
//-----------------------------------------------
|
||||
// End of MakePrairie macro
|
||||
//===============================================
|
||||
|
||||
#version makegrass_Inc_Temp;
|
||||
#end
|
||||
// End of "makegrass.inc" -----------------------
|
||||
266
distribution/include/marbteal.map
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
#declare MarbTeal_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Teal marble color_map
|
||||
*/
|
||||
|
||||
#declare M_MarbTeal =
|
||||
color_map {
|
||||
[0.000000 rgb <0.000000, 0.203922, 0.141176>]
|
||||
[0.003922 rgb <0.000000, 0.219608, 0.141176>]
|
||||
[0.007843 rgb <0.000000, 0.235294, 0.141176>]
|
||||
[0.011765 rgb <0.000000, 0.250980, 0.156863>]
|
||||
[0.015686 rgb <0.015686, 0.219608, 0.156863>]
|
||||
[0.019608 rgb <0.015686, 0.235294, 0.156863>]
|
||||
[0.023529 rgb <0.015686, 0.250980, 0.156863>]
|
||||
[0.027451 rgb <0.015686, 0.250980, 0.172549>]
|
||||
[0.031373 rgb <0.015686, 0.266667, 0.172549>]
|
||||
[0.035294 rgb <0.015686, 0.266667, 0.188235>]
|
||||
[0.039216 rgb <0.015686, 0.282353, 0.188235>]
|
||||
[0.043137 rgb <0.015686, 0.282353, 0.203922>]
|
||||
[0.047059 rgb <0.015686, 0.298039, 0.203922>]
|
||||
[0.050980 rgb <0.031373, 0.266667, 0.172549>]
|
||||
[0.054902 rgb <0.031373, 0.266667, 0.188235>]
|
||||
[0.058824 rgb <0.031373, 0.282353, 0.188235>]
|
||||
[0.062745 rgb <0.031373, 0.282353, 0.203922>]
|
||||
[0.066667 rgb <0.031373, 0.298039, 0.188235>]
|
||||
[0.070588 rgb <0.031373, 0.298039, 0.203922>]
|
||||
[0.074510 rgb <0.031373, 0.298039, 0.219608>]
|
||||
[0.078431 rgb <0.031373, 0.313726, 0.203922>]
|
||||
[0.082353 rgb <0.031373, 0.313726, 0.219608>]
|
||||
[0.086275 rgb <0.031373, 0.313726, 0.235294>]
|
||||
[0.090196 rgb <0.031373, 0.329412, 0.235294>]
|
||||
[0.094118 rgb <0.047059, 0.298039, 0.219608>]
|
||||
[0.098039 rgb <0.047059, 0.313726, 0.219608>]
|
||||
[0.101961 rgb <0.047059, 0.313726, 0.235294>]
|
||||
[0.105882 rgb <0.047059, 0.329412, 0.235294>]
|
||||
[0.109804 rgb <0.047059, 0.329412, 0.250980>]
|
||||
[0.113725 rgb <0.047059, 0.345098, 0.235294>]
|
||||
[0.117647 rgb <0.047059, 0.345098, 0.250980>]
|
||||
[0.121569 rgb <0.047059, 0.360784, 0.250980>]
|
||||
[0.125490 rgb <0.047059, 0.360784, 0.266667>]
|
||||
[0.129412 rgb <0.062745, 0.345098, 0.250980>]
|
||||
[0.133333 rgb <0.062745, 0.360784, 0.250980>]
|
||||
[0.137255 rgb <0.062745, 0.360784, 0.266667>]
|
||||
[0.141176 rgb <0.062745, 0.360784, 0.282353>]
|
||||
[0.145098 rgb <0.062745, 0.376471, 0.266667>]
|
||||
[0.149020 rgb <0.062745, 0.376471, 0.282353>]
|
||||
[0.152941 rgb <0.062745, 0.392157, 0.266667>]
|
||||
[0.156863 rgb <0.062745, 0.392157, 0.282353>]
|
||||
[0.160784 rgb <0.062745, 0.392157, 0.298039>]
|
||||
[0.164706 rgb <0.078431, 0.376471, 0.266667>]
|
||||
[0.168627 rgb <0.078431, 0.376471, 0.282353>]
|
||||
[0.172549 rgb <0.078431, 0.376471, 0.298039>]
|
||||
[0.176471 rgb <0.078431, 0.392157, 0.282353>]
|
||||
[0.180392 rgb <0.078431, 0.392157, 0.298039>]
|
||||
[0.184314 rgb <0.078431, 0.392157, 0.313726>]
|
||||
[0.188235 rgb <0.078431, 0.407843, 0.298039>]
|
||||
[0.192157 rgb <0.078431, 0.407843, 0.313726>]
|
||||
[0.196078 rgb <0.078431, 0.423529, 0.313726>]
|
||||
[0.200000 rgb <0.078431, 0.423529, 0.329412>]
|
||||
[0.203922 rgb <0.094118, 0.392157, 0.298039>]
|
||||
[0.207843 rgb <0.094118, 0.392157, 0.313726>]
|
||||
[0.211765 rgb <0.094118, 0.407843, 0.298039>]
|
||||
[0.215686 rgb <0.094118, 0.407843, 0.313726>]
|
||||
[0.219608 rgb <0.094118, 0.407843, 0.329412>]
|
||||
[0.223529 rgb <0.094118, 0.423529, 0.313726>]
|
||||
[0.227451 rgb <0.094118, 0.423529, 0.329412>]
|
||||
[0.231373 rgb <0.094118, 0.423529, 0.345098>]
|
||||
[0.235294 rgb <0.094118, 0.439216, 0.329412>]
|
||||
[0.239216 rgb <0.094118, 0.439216, 0.345098>]
|
||||
[0.243137 rgb <0.094118, 0.439216, 0.360784>]
|
||||
[0.247059 rgb <0.094118, 0.454902, 0.360784>]
|
||||
[0.250980 rgb <0.109804, 0.423529, 0.313726>]
|
||||
[0.254902 rgb <0.109804, 0.423529, 0.329412>]
|
||||
[0.258824 rgb <0.109804, 0.423529, 0.345098>]
|
||||
[0.262745 rgb <0.109804, 0.439216, 0.329412>]
|
||||
[0.266667 rgb <0.109804, 0.439216, 0.345098>]
|
||||
[0.270588 rgb <0.109804, 0.439216, 0.360784>]
|
||||
[0.274510 rgb <0.109804, 0.454902, 0.345098>]
|
||||
[0.278431 rgb <0.109804, 0.454902, 0.360784>]
|
||||
[0.282353 rgb <0.109804, 0.454902, 0.376471>]
|
||||
[0.286275 rgb <0.109804, 0.470588, 0.376471>]
|
||||
[0.290196 rgb <0.125490, 0.439216, 0.345098>]
|
||||
[0.294118 rgb <0.125490, 0.439216, 0.360784>]
|
||||
[0.298039 rgb <0.125490, 0.454902, 0.345098>]
|
||||
[0.301961 rgb <0.125490, 0.454902, 0.360784>]
|
||||
[0.305882 rgb <0.125490, 0.454902, 0.376471>]
|
||||
[0.309804 rgb <0.125490, 0.454902, 0.392157>]
|
||||
[0.313726 rgb <0.125490, 0.470588, 0.360784>]
|
||||
[0.317647 rgb <0.125490, 0.470588, 0.376471>]
|
||||
[0.321569 rgb <0.125490, 0.470588, 0.392157>]
|
||||
[0.325490 rgb <0.125490, 0.486275, 0.392157>]
|
||||
[0.329412 rgb <0.141176, 0.454902, 0.360784>]
|
||||
[0.333333 rgb <0.141176, 0.454902, 0.376471>]
|
||||
[0.337255 rgb <0.141176, 0.470588, 0.376471>]
|
||||
[0.341176 rgb <0.141176, 0.470588, 0.392157>]
|
||||
[0.345098 rgb <0.141176, 0.486275, 0.376471>]
|
||||
[0.349020 rgb <0.141176, 0.486275, 0.392157>]
|
||||
[0.352941 rgb <0.141176, 0.486275, 0.407843>]
|
||||
[0.356863 rgb <0.141176, 0.501961, 0.407843>]
|
||||
[0.360784 rgb <0.141176, 0.501961, 0.423529>]
|
||||
[0.364706 rgb <0.156863, 0.470588, 0.392157>]
|
||||
[0.368627 rgb <0.156863, 0.486275, 0.392157>]
|
||||
[0.372549 rgb <0.156863, 0.486275, 0.407843>]
|
||||
[0.376471 rgb <0.156863, 0.501961, 0.392157>]
|
||||
[0.380392 rgb <0.156863, 0.501961, 0.407843>]
|
||||
[0.384314 rgb <0.156863, 0.501961, 0.423529>]
|
||||
[0.388235 rgb <0.156863, 0.517647, 0.423529>]
|
||||
[0.392157 rgb <0.156863, 0.517647, 0.439216>]
|
||||
[0.396078 rgb <0.172549, 0.486275, 0.407843>]
|
||||
[0.400000 rgb <0.172549, 0.501961, 0.407843>]
|
||||
[0.403922 rgb <0.172549, 0.501961, 0.423529>]
|
||||
[0.407843 rgb <0.172549, 0.501961, 0.439216>]
|
||||
[0.411765 rgb <0.172549, 0.517647, 0.423529>]
|
||||
[0.415686 rgb <0.172549, 0.517647, 0.439216>]
|
||||
[0.419608 rgb <0.172549, 0.517647, 0.454902>]
|
||||
[0.423529 rgb <0.172549, 0.533333, 0.439216>]
|
||||
[0.427451 rgb <0.172549, 0.533333, 0.454902>]
|
||||
[0.431373 rgb <0.188235, 0.501961, 0.423529>]
|
||||
[0.435294 rgb <0.188235, 0.501961, 0.439216>]
|
||||
[0.439216 rgb <0.188235, 0.517647, 0.423529>]
|
||||
[0.443137 rgb <0.188235, 0.517647, 0.439216>]
|
||||
[0.447059 rgb <0.188235, 0.517647, 0.454902>]
|
||||
[0.450980 rgb <0.188235, 0.533333, 0.439216>]
|
||||
[0.454902 rgb <0.188235, 0.533333, 0.454902>]
|
||||
[0.458824 rgb <0.188235, 0.533333, 0.470588>]
|
||||
[0.462745 rgb <0.188235, 0.549020, 0.454902>]
|
||||
[0.466667 rgb <0.188235, 0.549020, 0.470588>]
|
||||
[0.470588 rgb <0.203922, 0.517647, 0.439216>]
|
||||
[0.474510 rgb <0.203922, 0.533333, 0.439216>]
|
||||
[0.478431 rgb <0.203922, 0.533333, 0.454902>]
|
||||
[0.482353 rgb <0.203922, 0.533333, 0.470588>]
|
||||
[0.486275 rgb <0.203922, 0.549020, 0.454902>]
|
||||
[0.490196 rgb <0.203922, 0.549020, 0.470588>]
|
||||
[0.494118 rgb <0.203922, 0.549020, 0.486275>]
|
||||
[0.498039 rgb <0.203922, 0.564706, 0.470588>]
|
||||
[0.501961 rgb <0.203922, 0.564706, 0.486275>]
|
||||
[0.505882 rgb <0.219608, 0.533333, 0.454902>]
|
||||
[0.509804 rgb <0.219608, 0.549020, 0.454902>]
|
||||
[0.513726 rgb <0.219608, 0.549020, 0.470588>]
|
||||
[0.517647 rgb <0.219608, 0.549020, 0.486275>]
|
||||
[0.521569 rgb <0.219608, 0.564706, 0.470588>]
|
||||
[0.525490 rgb <0.219608, 0.564706, 0.486275>]
|
||||
[0.529412 rgb <0.219608, 0.564706, 0.501961>]
|
||||
[0.533333 rgb <0.219608, 0.580392, 0.486275>]
|
||||
[0.537255 rgb <0.219608, 0.580392, 0.501961>]
|
||||
[0.541176 rgb <0.235294, 0.549020, 0.470588>]
|
||||
[0.545098 rgb <0.235294, 0.549020, 0.486275>]
|
||||
[0.549020 rgb <0.235294, 0.564706, 0.470588>]
|
||||
[0.552941 rgb <0.235294, 0.564706, 0.486275>]
|
||||
[0.556863 rgb <0.235294, 0.564706, 0.501961>]
|
||||
[0.560784 rgb <0.235294, 0.580392, 0.486275>]
|
||||
[0.564706 rgb <0.235294, 0.580392, 0.501961>]
|
||||
[0.568627 rgb <0.235294, 0.580392, 0.517647>]
|
||||
[0.572549 rgb <0.235294, 0.596078, 0.501961>]
|
||||
[0.576471 rgb <0.250980, 0.564706, 0.486275>]
|
||||
[0.580392 rgb <0.250980, 0.564706, 0.501961>]
|
||||
[0.584314 rgb <0.250980, 0.580392, 0.486275>]
|
||||
[0.588235 rgb <0.250980, 0.580392, 0.501961>]
|
||||
[0.592157 rgb <0.250980, 0.580392, 0.517647>]
|
||||
[0.596078 rgb <0.250980, 0.596078, 0.501961>]
|
||||
[0.600000 rgb <0.250980, 0.596078, 0.533333>]
|
||||
[0.603922 rgb <0.266667, 0.580392, 0.501961>]
|
||||
[0.607843 rgb <0.266667, 0.596078, 0.517647>]
|
||||
[0.611765 rgb <0.266667, 0.611765, 0.533333>]
|
||||
[0.615686 rgb <0.282353, 0.596078, 0.533333>]
|
||||
[0.619608 rgb <0.282353, 0.611765, 0.517647>]
|
||||
[0.623529 rgb <0.282353, 0.611765, 0.549020>]
|
||||
[0.627451 rgb <0.282353, 0.627451, 0.533333>]
|
||||
[0.631373 rgb <0.298039, 0.611765, 0.533333>]
|
||||
[0.635294 rgb <0.298039, 0.627451, 0.549020>]
|
||||
[0.639216 rgb <0.298039, 0.643137, 0.564706>]
|
||||
[0.643137 rgb <0.313726, 0.611765, 0.549020>]
|
||||
[0.647059 rgb <0.313726, 0.627451, 0.564706>]
|
||||
[0.650980 rgb <0.313726, 0.643137, 0.549020>]
|
||||
[0.654902 rgb <0.313726, 0.643137, 0.580392>]
|
||||
[0.658824 rgb <0.313726, 0.658824, 0.564706>]
|
||||
[0.662745 rgb <0.329412, 0.627451, 0.580392>]
|
||||
[0.666667 rgb <0.329412, 0.643137, 0.564706>]
|
||||
[0.670588 rgb <0.329412, 0.643137, 0.596078>]
|
||||
[0.674510 rgb <0.329412, 0.658824, 0.580392>]
|
||||
[0.678431 rgb <0.345098, 0.643137, 0.580392>]
|
||||
[0.682353 rgb <0.345098, 0.658824, 0.596078>]
|
||||
[0.686275 rgb <0.345098, 0.674510, 0.580392>]
|
||||
[0.690196 rgb <0.345098, 0.674510, 0.611765>]
|
||||
[0.694118 rgb <0.360784, 0.658824, 0.580392>]
|
||||
[0.698039 rgb <0.360784, 0.658824, 0.611765>]
|
||||
[0.701961 rgb <0.360784, 0.674510, 0.596078>]
|
||||
[0.705882 rgb <0.360784, 0.674510, 0.627451>]
|
||||
[0.709804 rgb <0.360784, 0.690196, 0.611765>]
|
||||
[0.713726 rgb <0.376471, 0.658824, 0.596078>]
|
||||
[0.717647 rgb <0.376471, 0.674510, 0.611765>]
|
||||
[0.721569 rgb <0.376471, 0.690196, 0.596078>]
|
||||
[0.725490 rgb <0.376471, 0.690196, 0.627451>]
|
||||
[0.729412 rgb <0.392157, 0.674510, 0.627451>]
|
||||
[0.733333 rgb <0.392157, 0.690196, 0.611765>]
|
||||
[0.737255 rgb <0.392157, 0.690196, 0.643137>]
|
||||
[0.741176 rgb <0.392157, 0.705882, 0.627451>]
|
||||
[0.745098 rgb <0.407843, 0.690196, 0.627451>]
|
||||
[0.749020 rgb <0.407843, 0.705882, 0.643137>]
|
||||
[0.752941 rgb <0.407843, 0.721569, 0.658824>]
|
||||
[0.756863 rgb <0.423529, 0.690196, 0.643137>]
|
||||
[0.760784 rgb <0.423529, 0.705882, 0.627451>]
|
||||
[0.764706 rgb <0.423529, 0.705882, 0.658824>]
|
||||
[0.768627 rgb <0.423529, 0.721569, 0.643137>]
|
||||
[0.772549 rgb <0.423529, 0.721569, 0.674510>]
|
||||
[0.776471 rgb <0.439216, 0.705882, 0.643137>]
|
||||
[0.780392 rgb <0.439216, 0.705882, 0.674510>]
|
||||
[0.784314 rgb <0.439216, 0.721569, 0.658824>]
|
||||
[0.788235 rgb <0.439216, 0.737255, 0.674510>]
|
||||
[0.792157 rgb <0.454902, 0.721569, 0.674510>]
|
||||
[0.796078 rgb <0.454902, 0.737255, 0.658824>]
|
||||
[0.800000 rgb <0.454902, 0.737255, 0.690196>]
|
||||
[0.803922 rgb <0.470588, 0.721569, 0.658824>]
|
||||
[0.807843 rgb <0.470588, 0.721569, 0.690196>]
|
||||
[0.811765 rgb <0.470588, 0.737255, 0.674510>]
|
||||
[0.815686 rgb <0.470588, 0.737255, 0.705882>]
|
||||
[0.819608 rgb <0.470588, 0.752941, 0.690196>]
|
||||
[0.823529 rgb <0.486275, 0.737255, 0.690196>]
|
||||
[0.827451 rgb <0.486275, 0.752941, 0.674510>]
|
||||
[0.831373 rgb <0.486275, 0.752941, 0.705882>]
|
||||
[0.835294 rgb <0.501961, 0.737255, 0.705882>]
|
||||
[0.839216 rgb <0.501961, 0.752941, 0.690196>]
|
||||
[0.843137 rgb <0.501961, 0.752941, 0.721569>]
|
||||
[0.847059 rgb <0.501961, 0.768627, 0.705882>]
|
||||
[0.850980 rgb <0.517647, 0.737255, 0.690196>]
|
||||
[0.854902 rgb <0.517647, 0.752941, 0.705882>]
|
||||
[0.858824 rgb <0.517647, 0.768627, 0.721569>]
|
||||
[0.862745 rgb <0.517647, 0.784314, 0.737255>]
|
||||
[0.866667 rgb <0.533333, 0.768627, 0.705882>]
|
||||
[0.870588 rgb <0.533333, 0.768627, 0.737255>]
|
||||
[0.874510 rgb <0.533333, 0.784314, 0.721569>]
|
||||
[0.878431 rgb <0.549020, 0.768627, 0.721569>]
|
||||
[0.882353 rgb <0.549020, 0.784314, 0.737255>]
|
||||
[0.886275 rgb <0.564706, 0.768627, 0.737255>]
|
||||
[0.890196 rgb <0.564706, 0.784314, 0.752941>]
|
||||
[0.894118 rgb <0.564706, 0.800000, 0.737255>]
|
||||
[0.898039 rgb <0.564706, 0.800000, 0.768627>]
|
||||
[0.901961 rgb <0.580392, 0.800000, 0.752941>]
|
||||
[0.905882 rgb <0.580392, 0.815686, 0.768627>]
|
||||
[0.909804 rgb <0.596078, 0.800000, 0.768627>]
|
||||
[0.913725 rgb <0.596078, 0.815686, 0.752941>]
|
||||
[0.917647 rgb <0.596078, 0.815686, 0.784314>]
|
||||
[0.921569 rgb <0.611765, 0.800000, 0.752941>]
|
||||
[0.925490 rgb <0.611765, 0.815686, 0.768627>]
|
||||
[0.929412 rgb <0.611765, 0.831373, 0.784314>]
|
||||
[0.933333 rgb <0.627451, 0.815686, 0.784314>]
|
||||
[0.937255 rgb <0.627451, 0.831373, 0.800000>]
|
||||
[0.941176 rgb <0.643137, 0.831373, 0.784314>]
|
||||
[0.945098 rgb <0.643137, 0.847059, 0.800000>]
|
||||
[0.949020 rgb <0.658824, 0.815686, 0.784314>]
|
||||
[0.952941 rgb <0.658824, 0.831373, 0.800000>]
|
||||
[0.956863 rgb <0.658824, 0.847059, 0.815686>]
|
||||
[0.960784 rgb <0.674510, 0.847059, 0.800000>]
|
||||
[0.964706 rgb <0.690196, 0.847059, 0.815686>]
|
||||
[0.968627 rgb <0.690196, 0.862745, 0.831373>]
|
||||
[0.972549 rgb <0.705882, 0.847059, 0.831373>]
|
||||
[0.976471 rgb <0.721569, 0.862745, 0.831373>]
|
||||
[0.980392 rgb <0.721569, 0.878431, 0.847059>]
|
||||
[0.984314 rgb <0.737255, 0.862745, 0.847059>]
|
||||
[0.988235 rgb <0.737255, 0.878431, 0.862745>]
|
||||
[0.992157 rgb <0.752941, 0.878431, 0.847059>]
|
||||
[0.996078 rgb <0.768627, 0.878431, 0.862745>]
|
||||
}
|
||||
#version MarbTeal_Inc_Temp;
|
||||
510
distribution/include/math.inc
Normal file
|
|
@ -0,0 +1,510 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: math.inc
|
||||
// Last updated: 2004.07.23
|
||||
// Description: This file contains various math macros and functions
|
||||
|
||||
#ifndef(MATH_INC_TEMP)
|
||||
#declare MATH_INC_TEMP = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including math.inc\n"
|
||||
#end
|
||||
|
||||
#include "functions.inc"
|
||||
|
||||
// --------------------------------------------------------
|
||||
// Statistics macros: (some from variate.inc)
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Mean(rewritten, original from basemcr.inc by Margus Ramst)
|
||||
#macro Mean(A)
|
||||
#local N = dimension_size(A,1);
|
||||
#local C = 0;
|
||||
// (
|
||||
// #while(C<N-1)
|
||||
// A[C]+
|
||||
// #local C=C+1;
|
||||
// #end
|
||||
// A[C])/N
|
||||
#local V = 0;
|
||||
#while(C < N)
|
||||
#local V = V + A[C];
|
||||
#local C=C+1;
|
||||
#end
|
||||
(V/N)
|
||||
#end
|
||||
|
||||
// Standard deviation(rewritten, original from basemcr.inc by Margus Ramst)
|
||||
#macro Std_Dev(A, M)
|
||||
#local N = dimension_size(A,1);
|
||||
#local C = 0;
|
||||
// sqrt((
|
||||
// #while(C<N-1)
|
||||
// pow(A[C]-M,2)+
|
||||
// #local C=C+1;
|
||||
// #end
|
||||
// pow(A[C]-M,2))/N)
|
||||
#local V = 0;
|
||||
#while(C < N)
|
||||
#local V = V + pow(A[C] - M, 2);
|
||||
#local C=C+1;
|
||||
#end
|
||||
sqrt(V/N)
|
||||
#end
|
||||
|
||||
// Macros for statistical analysis
|
||||
// Input: an array of values
|
||||
// Output: a global array "StatisticsArray" is
|
||||
// declared containing: N, Mean, Min, Max, StdDev
|
||||
#macro GetStats(ValArr)
|
||||
#local SquareSum=0; #local Sum=0;
|
||||
#local Min=10e15; #local Max=-10e15;
|
||||
#local N=dimension_size(ValArr,1);
|
||||
#local I=0;
|
||||
#while (I<N)
|
||||
#local Val=ValArr[I];
|
||||
#local Sum=Sum+Val;
|
||||
#local SquareSum=SquareSum+(Val*Val);
|
||||
#if (Val>Max)
|
||||
#local Max=Val;
|
||||
#end
|
||||
#if (Val<Min)
|
||||
#local Min=Val;
|
||||
#end
|
||||
#local I=I+1;
|
||||
#end
|
||||
#local Avg=Sum/N;
|
||||
#local StdDev=sqrt((SquareSum/N)-Avg*Avg);
|
||||
#debug concat("\nN = ",str(N,0,0),"\n")
|
||||
#debug concat("Mean = ",str(Avg,0,-1),"\n")
|
||||
#debug concat("Min = ",str(Min,0,-1),"\n")
|
||||
#debug concat("Max = ",str(Max,0,-1),"\n")
|
||||
#debug concat("StdDev = ",str(StdDev,0,-1),"\n")
|
||||
#declare StatisticsArray=array[5]{N,Avg,Min,Max,StdDev}
|
||||
#end
|
||||
|
||||
// Input: an array with values and the wanted amount of intervals / bins.
|
||||
// Output: a global array "HistogramArray" is declared,
|
||||
// it is a two dimensional array, the first value is the center
|
||||
// of the interval / bin, the second the amount of values
|
||||
// in that interval.
|
||||
#macro Histogram(ValArr, Intervals)
|
||||
GetStats(ValArr)
|
||||
#local Min=StatisticsArray[2];
|
||||
#local Max=StatisticsArray[3];
|
||||
|
||||
#local Intervals=int(Intervals);
|
||||
#local Width=(Max-Min)/(Intervals);
|
||||
|
||||
#local HistArr=array[Intervals][2]
|
||||
#local I=0;
|
||||
#while(I<Intervals)
|
||||
#local HistArr[I][0]=Min+Width*(I+0.5); // center of interval
|
||||
#local HistArr[I][1]=0;
|
||||
#local I=I+1;
|
||||
#end
|
||||
|
||||
#local I=0;
|
||||
#while (I<N) // 'put' the values into the right
|
||||
#local Index=int((ValArr[I]-Min)/Width); // intervals and count them.
|
||||
#if (Index>=Intervals)
|
||||
#local Index=Index-1;
|
||||
#end
|
||||
#local HistArr[Index][1]=HistArr[Index][1]+1;
|
||||
#local I=I+1;
|
||||
#end
|
||||
#declare HistogramArray=HistArr
|
||||
#end
|
||||
|
||||
|
||||
// --------------------------------------------------------
|
||||
// Trig:
|
||||
// --------------------------------------------------------
|
||||
|
||||
#declare sind = function (x) {sin(radians(x))}
|
||||
#declare cosd = function (x) {cos(radians(x))}
|
||||
#declare tand = function (x) {tan(radians(x))}
|
||||
|
||||
#declare asind = function (x) {degrees(asin(x))}
|
||||
#declare acosd = function (x) {degrees(acos(x))}
|
||||
#declare atand = function (x) {degrees(atan(x))}
|
||||
#declare atan2d = function (x, y) {degrees(atan2(x, y))}
|
||||
|
||||
|
||||
// --------------------------------------------------------
|
||||
// Misc:
|
||||
// --------------------------------------------------------
|
||||
|
||||
#declare max3 = function (x, y, z) {max(x,y,z)}
|
||||
#declare min3 = function (x, y, z) {min(x,y,z)}
|
||||
|
||||
#declare even = function(x) {select(mod(x, 2), 0, 1, 0)}
|
||||
#declare odd = function(x) {select(mod(x, 2), 1, 0, 1)}
|
||||
|
||||
// Squares the value
|
||||
#declare f_sqr = function (x) {(x*x)}
|
||||
|
||||
// Returns the sign of a value
|
||||
#declare sgn = function (x) {select(x,-1, 0, 1)}
|
||||
//#declare sgn = function (x) {x/abs(x)}
|
||||
|
||||
// Range handling
|
||||
// clips a number (x) to the range [Min, Max] ([y, z]). Values above Max return Max,
|
||||
// below Min return Min.
|
||||
#declare clip = function (x, y, z) {min(z, max(x, y))}
|
||||
|
||||
// Clamps a number (x) to the range [Min, Max] ([y, z]).
|
||||
// Values outside this range wrap around.
|
||||
#declare clamp = function (x, y, z) {mod(x - y, z - y) + select(mod(x - y, z - y), z, y)}
|
||||
|
||||
// Adjusts input values (x) in the range [0, 1] to output values in range [Rmn, Rmx] ([y, z]).
|
||||
#declare adj_range = function (x, y, z) {x*(z - y) + y}
|
||||
|
||||
// Adjusts values in a specified range [Rmn, Rmx] to the specified range [Min, Max]
|
||||
#declare adj_range2 =
|
||||
function (x, y, z, _Math_INC_OMn, _Math_INC_OMx) {
|
||||
((x - y)/(z - y))*(_Math_INC_OMx - _Math_INC_OMn) + _Math_INC_OMn
|
||||
}
|
||||
|
||||
// Interpolate author: Margus Ramst
|
||||
// Interpolation
|
||||
// GC - global current
|
||||
// GS - global start
|
||||
// GE - global end
|
||||
// TS - target start
|
||||
// TE - target end
|
||||
// Method - interpolation method:
|
||||
// Method = 0 - cosine interpolation
|
||||
// Method > 0 - exponential (1 - linear, etc)
|
||||
#macro Interpolate(GC, GS, GE, TS, TE, Method)
|
||||
(#if(Method!=0)
|
||||
(TS+(TE-TS)*pow((GC-GS)/(GE-GS),Method))
|
||||
#else
|
||||
#local X=(GC-GS)/(GE-GS);
|
||||
#local F=(1-cos(X*pi))*.5;
|
||||
(TS*(1-F)+TE*F)
|
||||
#end)
|
||||
#end
|
||||
|
||||
// --------------------------------------------------------
|
||||
// Vector macros:
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Squares the components of a vector
|
||||
#macro VSqr(V) (V*V) #end
|
||||
|
||||
// Raises the components of a vector to a given power
|
||||
#macro VPow(V, P) <pow(V.x, P), pow(V.y, P), pow(V.z, P)> #end
|
||||
#macro VPow5D(V, P) <pow(V.x, P), pow(V.y, P), pow(V.z, P), pow(V.filter, P), pow(V.transmit, P)> #end
|
||||
|
||||
// Returns true if vectors are equal, otherwise false
|
||||
#macro VEq(V1, V2) (V1.x = V2.x & V1.y = V2.y & V1.z = V2.z) #end
|
||||
#macro VEq5D(V1, V2)
|
||||
( V1.x = V2.x
|
||||
& V1.y = V2.y
|
||||
& V1.z = V2.z
|
||||
& V1.filter = V2.filter
|
||||
& V1.transmit = V2.transmit)
|
||||
#end
|
||||
|
||||
// Returns true if vector is <0,0,0>, otherwise false
|
||||
#macro VZero(V1) (V1.x = 0 & V1.y = 0 & V1.z = 0) #end
|
||||
// Returns true if vector is <0,0,0,0,0>, otherwise false
|
||||
#macro VZero5D(V1) (V1.x = 0 & V1.y = 0 & V1.z = 0 & V1.filter = 0 & V1.transmit = 0) #end
|
||||
|
||||
#macro VLength5D(V) sqrt(V.x*V.x + V.y*V.y + V.z*V.z + V.filter*V.filter + V.transmit*V.transmit) #end
|
||||
|
||||
#macro VNormalize5D(V) (V/sqrt(V.x*V.x + V.y*V.y + V.z*V.z + V.filter*V.filter + V.transmit*V.transmit)) #end
|
||||
|
||||
#macro VDot5D(V1, V2) (V1.x*V2.x + V1.y*V2.y + V1.z*V2.z + V1.filter*V2.filter + V1.transmit*V2.transmit) #end
|
||||
|
||||
// Cosine of angle between V1 and V2
|
||||
#macro VCos_Angle(V1, V2) vdot(vnormalize(V1), vnormalize(V2)) #end
|
||||
|
||||
// Angle in radians between V1 and V2
|
||||
#macro VAngle(V1, V2) acos(min(1, vdot(vnormalize(V1), vnormalize(V2)))) #end
|
||||
// Angle in degrees between V1 and V2
|
||||
#macro VAngleD(V1, V2) degrees(acos(min(1,vdot(vnormalize(V1), vnormalize(V2))))) #end
|
||||
|
||||
// VRotation() will find the rotation angle from V1 to V2
|
||||
// around Axis. Axis should be perpendicular to both V1
|
||||
// and V2. The output will be in the range between -pi and
|
||||
// pi radians or between -180 degrees and 180 degrees if
|
||||
// you are using the degree version. However, if Axis is
|
||||
// set to <0,0,0> the output will always be positive or
|
||||
// zero, the same result you will get with the VAngle() macros.
|
||||
// Author: Rune S. Johansen
|
||||
#macro VRotation(V1, V2, Axis)
|
||||
(acos(min(vdot(vnormalize(V1),vnormalize(V2)),1))
|
||||
*(vdot(Axis,vcross(V1,V2))<0?-1:1))
|
||||
#end
|
||||
#macro VRotationD(V1, V2, Axis)
|
||||
(degrees(acos(min(vdot(vnormalize(V1),vnormalize(V2)),1)))
|
||||
*(vdot(Axis,vcross(V1,V2))<0?-1:1))
|
||||
#end
|
||||
|
||||
// Distance between V1 and V2
|
||||
#macro VDist(V1, V2) vlength(V1 - V2) #end
|
||||
|
||||
// Returns a vector perpendicular to V
|
||||
// Author: Tor Olav Kristensen
|
||||
#macro VPerp_To_Vector(v0)
|
||||
#if (vlength(v0) = 0)
|
||||
#local vN = <0, 0, 0>;
|
||||
#else
|
||||
#local Dm = min(abs(v0.x), abs(v0.y), abs(v0.z));
|
||||
#if (abs(v0.z) = Dm)
|
||||
#local vN = vnormalize(vcross(v0, z));
|
||||
#else
|
||||
#if (abs(v0.y) = Dm)
|
||||
#local vN = vnormalize(vcross(v0, y));
|
||||
#else
|
||||
#local vN = vnormalize(vcross(v0, x));
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
vN
|
||||
#end
|
||||
|
||||
// Returns a vector perpendicular to V1 and V2
|
||||
#macro VPerp_To_Plane(V1, V2) (vnormalize(vcross(V1, V2))) #end
|
||||
|
||||
// Find a vector perpendicular to Axis and in the plane of
|
||||
// V1 and Axis. In other words, the new vector is a version
|
||||
// of V1 adjusted to be perpendicular to Axis.
|
||||
#macro VPerp_Adjust(V, Axis)
|
||||
vnormalize(vcross(vcross(Axis, V), Axis))
|
||||
#end
|
||||
|
||||
// Projects a vector onto the plane defined by Axis.
|
||||
// Based on code by Ron Parker
|
||||
#macro VProject_Plane(V, Axis)
|
||||
#local A = vnormalize(Axis);
|
||||
(V - vdot(V, A)*A)
|
||||
#end
|
||||
|
||||
// Projects a vector onto the an axis.
|
||||
// Based on code by Ron Parker
|
||||
#macro VProject_Axis(V, Axis)
|
||||
(Axis*vdot(V, Axis)/vdot(Axis, Axis))
|
||||
#end
|
||||
|
||||
// Smallest component of V
|
||||
#macro VMin(V) (min3(V.x, V.y, V.z)) #end
|
||||
|
||||
// Largest component of V
|
||||
#macro VMax(V) (max3(V.x, V.y, V.z)) #end
|
||||
|
||||
// Creates a vector going in the direction of the
|
||||
// given vector with the specified length
|
||||
#macro VWith_Len(V, Len) (Len*vnormalize(V)) #end
|
||||
|
||||
// --------------------------------------------------------
|
||||
// Vector analysis macros
|
||||
// --------------------------------------------------------
|
||||
// Authors: Christoph Hormann and Tor Olav Kristensen
|
||||
|
||||
// Various functions of vector analysis in form of macros
|
||||
// that can be used in user defined functions or expressions
|
||||
//
|
||||
// all macros make use of a constant named
|
||||
// '__Gradient_Fn_Accuracy_' for numerical approximation
|
||||
// of the derivatives.
|
||||
// This constant can be changed with the
|
||||
// 'SetGradientAccuracy()' macro, the default value is 0.001.
|
||||
//
|
||||
// Because vector functions can only be created as pigment
|
||||
// or transform/spline functions and can not be passed as
|
||||
// a macro parameter there is no fn_Curl() function and the
|
||||
// divergence and curl macros use 3 float functions for
|
||||
// defining the vector field.
|
||||
|
||||
#ifndef (__Gradient_Fn_Accuracy_)
|
||||
#declare __Gradient_Fn_Accuracy_=0.001;
|
||||
#end
|
||||
|
||||
#macro SetGradientAccuracy(Value)
|
||||
#declare __Gradient_Fn_Accuracy_=abs(Value);
|
||||
#end
|
||||
|
||||
// macro calculating the gradient of a function
|
||||
// as a function
|
||||
//
|
||||
// Parameters:
|
||||
// __Gradient_Fn: function to calculate the gradient from
|
||||
//
|
||||
// Output: the length of the gradient as a function
|
||||
#macro fn_Gradient(__Gradient_Fn)
|
||||
|
||||
function {
|
||||
f_r(
|
||||
__Gradient_Fn(x + __Gradient_Fn_Accuracy_, y, z) - __Gradient_Fn(x - __Gradient_Fn_Accuracy_, y, z),
|
||||
__Gradient_Fn(x, y + __Gradient_Fn_Accuracy_, z) - __Gradient_Fn(x, y - __Gradient_Fn_Accuracy_, z),
|
||||
__Gradient_Fn(x, y, z + __Gradient_Fn_Accuracy_) - __Gradient_Fn(x, y, z - __Gradient_Fn_Accuracy_)
|
||||
)/(2*__Gradient_Fn_Accuracy_)
|
||||
}
|
||||
|
||||
#end
|
||||
|
||||
// macro calculating the gradient of a function
|
||||
// in one direction as a function
|
||||
//
|
||||
// Parameters:
|
||||
// __Gradient_Fn: function to calculate the gradient from
|
||||
// Dir: direction to calculate the gradient
|
||||
//
|
||||
// Output: the gradient in that direction as a function
|
||||
#macro fn_Gradient_Directional(__Gradient_Fn, Dir)
|
||||
|
||||
#local Dirx = vnormalize(Dir).x;
|
||||
#local Diry = vnormalize(Dir).y;
|
||||
#local Dirz = vnormalize(Dir).z;
|
||||
|
||||
function {
|
||||
(
|
||||
(__Gradient_Fn(x + __Gradient_Fn_Accuracy_, y, z) - __Gradient_Fn(x - __Gradient_Fn_Accuracy_, y, z))*Dirx +
|
||||
(__Gradient_Fn(x, y + __Gradient_Fn_Accuracy_, z) - __Gradient_Fn(x, y - __Gradient_Fn_Accuracy_, z))*Diry +
|
||||
(__Gradient_Fn(x, y, z + __Gradient_Fn_Accuracy_) - __Gradient_Fn(x, y, z - __Gradient_Fn_Accuracy_))*Dirz
|
||||
)/(2*__Gradient_Fn_Accuracy_)
|
||||
}
|
||||
|
||||
#end
|
||||
|
||||
// macro calculating the divergence of a (vector) function
|
||||
// as a function
|
||||
//
|
||||
// Parameters:
|
||||
// __Gradient_Fnx,
|
||||
// __Gradient_Fny,
|
||||
// __Gradient_Fnz: x, y and z components of a vector function
|
||||
//
|
||||
// Output: the divergence as a function
|
||||
#macro fn_Divergence(__Gradient_Fnx, __Gradient_Fny, __Gradient_Fnz)
|
||||
|
||||
function {
|
||||
(
|
||||
__Gradient_Fnx(x + __Gradient_Fn_Accuracy_, y, z) - __Gradient_Fnx(x - __Gradient_Fn_Accuracy_, y, z)+
|
||||
__Gradient_Fny(x, y + __Gradient_Fn_Accuracy_, z) - __Gradient_Fny(x, y - __Gradient_Fn_Accuracy_, z)+
|
||||
__Gradient_Fnz(x, y, z + __Gradient_Fn_Accuracy_) - __Gradient_Fnz(x, y, z - __Gradient_Fn_Accuracy_)
|
||||
)/(2*__Gradient_Fn_Accuracy_)
|
||||
}
|
||||
|
||||
#end
|
||||
|
||||
// macro calculating the gradient of a function
|
||||
// as a vector expression
|
||||
//
|
||||
// Parameters:
|
||||
// __Gradient_Fn: function to calculate the gradient from
|
||||
// p0: point where to calculate the gradient
|
||||
//
|
||||
// Output: the gradient as a vector expression
|
||||
#macro vGradient(__Gradient_Fn, p0)
|
||||
|
||||
#local p0x=p0.x;
|
||||
#local p0y=p0.y;
|
||||
#local p0z=p0.z;
|
||||
|
||||
(
|
||||
<
|
||||
__Gradient_Fn(p0x + __Gradient_Fn_Accuracy_, p0y, p0z) - __Gradient_Fn(p0x - __Gradient_Fn_Accuracy_, p0y, p0z),
|
||||
__Gradient_Fn(p0x, p0y + __Gradient_Fn_Accuracy_, p0z) - __Gradient_Fn(p0x, p0y - __Gradient_Fn_Accuracy_, p0z),
|
||||
__Gradient_Fn(p0x, p0y, p0z + __Gradient_Fn_Accuracy_) - __Gradient_Fn(p0x, p0y, p0z - __Gradient_Fn_Accuracy_)
|
||||
>/(2*__Gradient_Fn_Accuracy_)
|
||||
)
|
||||
|
||||
#end
|
||||
|
||||
// macro calculating the curl of a (vector) function
|
||||
// as a vector expression
|
||||
//
|
||||
// Parameters:
|
||||
// __Gradient_Fnx,
|
||||
// __Gradient_Fny,
|
||||
// __Gradient_Fnz: x, y and z components of a vector function
|
||||
// p0: point where to calculate the curl
|
||||
//
|
||||
// Output: the curl as a vector expression
|
||||
#macro vCurl(__Gradient_Fnx, __Gradient_Fny, __Gradient_Fnz, p0)
|
||||
|
||||
#local p0x=p0.x;
|
||||
#local p0y=p0.y;
|
||||
#local p0z=p0.z;
|
||||
|
||||
(
|
||||
<
|
||||
__Gradient_Fnz(p0x, p0y + __Gradient_Fn_Accuracy_, p0z) - __Gradient_Fnz(p0x, p0y - __Gradient_Fn_Accuracy_, p0z) -
|
||||
__Gradient_Fny(p0x, p0y, p0z + __Gradient_Fn_Accuracy_) + __Gradient_Fny(p0x, p0y, p0z - __Gradient_Fn_Accuracy_),
|
||||
|
||||
__Gradient_Fnx(p0x, p0y, p0z + __Gradient_Fn_Accuracy_) - __Gradient_Fnx(p0x, p0y, p0z - __Gradient_Fn_Accuracy_) -
|
||||
__Gradient_Fnz(p0x + __Gradient_Fn_Accuracy_, p0y, p0z) + __Gradient_Fnz(p0x - __Gradient_Fn_Accuracy_, p0y, p0z),
|
||||
|
||||
__Gradient_Fny(p0x + __Gradient_Fn_Accuracy_, p0y, p0z) - __Gradient_Fny(p0x - __Gradient_Fn_Accuracy_, p0y, p0z) -
|
||||
__Gradient_Fnx(p0x, p0y + __Gradient_Fn_Accuracy_, p0z) + __Gradient_Fnx(p0x, p0y - __Gradient_Fn_Accuracy_, p0z)
|
||||
>/(2*__Gradient_Fn_Accuracy_)
|
||||
)
|
||||
|
||||
#end
|
||||
|
||||
// macro calculating the divergence of a (vector) function
|
||||
// as a float expression
|
||||
//
|
||||
// Parameters:
|
||||
// __Gradient_Fnx,
|
||||
// __Gradient_Fny,
|
||||
// __Gradient_Fnz: x, y and z components of a vector function
|
||||
// p0: point where to calculate the divergence
|
||||
//
|
||||
// Output: the divergence as a float expression
|
||||
#macro Divergence(__Gradient_Fnx, __Gradient_Fny, __Gradient_Fnz, p0)
|
||||
|
||||
#local p0x=p0.x;
|
||||
#local p0y=p0.y;
|
||||
#local p0z=p0.z;
|
||||
|
||||
(
|
||||
(
|
||||
__Gradient_Fnx(p0x + __Gradient_Fn_Accuracy_, p0y, p0z) - __Gradient_Fnx(p0x - __Gradient_Fn_Accuracy_, p0y, p0z)+
|
||||
__Gradient_Fny(p0x, p0y + __Gradient_Fn_Accuracy_, p0z) - __Gradient_Fny(p0x, p0y - __Gradient_Fn_Accuracy_, p0z)+
|
||||
__Gradient_Fnz(p0x, p0y, p0z + __Gradient_Fn_Accuracy_) - __Gradient_Fnz(p0x, p0y, p0z - __Gradient_Fn_Accuracy_)
|
||||
)/(2*__Gradient_Fn_Accuracy_)
|
||||
)
|
||||
|
||||
#end
|
||||
|
||||
// macro calculating the length of the gradient
|
||||
// of a function as a float expression
|
||||
//
|
||||
// Parameters:
|
||||
// __Gradient_Fn: function to calculate the gradient from
|
||||
// p0: point where to calculate the gradient
|
||||
//
|
||||
// Output: the length of the gradient as a float expression
|
||||
#macro Gradient_Length(__Gradient_Fn, p0)
|
||||
vlength(vGradient( function { __Gradient_Fn(x, y, z) } , p0))
|
||||
#end
|
||||
|
||||
// macro calculating the gradient of a function
|
||||
// in one direction as a float expression
|
||||
//
|
||||
// Parameters:
|
||||
// __Gradient_Fn: function to calculate the gradient from
|
||||
// p0: point where to calculate the gradient
|
||||
// Dir: direction to calculate the gradient
|
||||
//
|
||||
// Output: the gradient in that direction as a float expression
|
||||
#macro Gradient_Directional(__Gradient_Fn, p0, Dir)
|
||||
vdot(
|
||||
vGradient( function { __Gradient_Fn(x, y, z) }, p0),
|
||||
vnormalize(Dir)
|
||||
)
|
||||
#end
|
||||
|
||||
#version MATH_INC_TEMP;
|
||||
#end//math.inc
|
||||
|
||||
1263
distribution/include/meshmaker.inc
Normal file
272
distribution/include/metals.inc
Normal file
|
|
@ -0,0 +1,272 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
#ifndef(Metals_Inc_Temp)
|
||||
#declare Metals_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
# debug "including metals.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Metallic pigments, finishes, and textures.
|
||||
|
||||
|
||||
*****************************************************************************
|
||||
BASIC METAL COLORS
|
||||
*****************************************************************************
|
||||
Note: Describing metallic textures is difficult, at best. The reflectivity
|
||||
and other qualities make them highly dependant on lighting and surroundings.
|
||||
|
||||
The following notes are intended as a rough guide only.
|
||||
P_Brass1: Dark brown bronze.
|
||||
P_Brass2: Somewhat lighter brown than Brass4. Old penny, in soft finishes.
|
||||
P_Brass3: Used by Steve Anger's Polished_Brass. Slightly coppery.
|
||||
P_Brass4: A little yellower than Brass1.
|
||||
P_Brass5: Very light bronze, ranges from med tan to almost white.
|
||||
|
||||
P_Copper1: bronze-like. Best in finish #C.
|
||||
P_Copper2: slightly brownish copper/bronze. Best in finishes #B-#D.
|
||||
P_Copper3: reddish-brown copper. Best in finishes #C-#E.
|
||||
P_Copper4: pink copper, like new tubing. Best in finishes #C-#E.
|
||||
P_Copper5: Bronze in softer finishes, gold in harder finishes.
|
||||
|
||||
P_Chrome1: 20% Gray. Used in Steve Anger's Polished_Chrome.
|
||||
P_Chrome2: Slightly blueish 60% gray. Good steel w/finish #A
|
||||
P_Chrome3: 50% neutral gray.
|
||||
P_Chrome4: 75% neutral gray.
|
||||
P_Chrome5: 95% neutral gray.
|
||||
|
||||
P_Silver1: Yellowish silverplate. Somewhat tarnished looking.
|
||||
P_Silver2: Not quite as yellowish as Silver1 but more so than Silver3.
|
||||
P_Silver3: Reasonably neutral silver.
|
||||
P_Silver4: REDUNDANT (unused)
|
||||
P_Silver5: REDUNDANT (unused)
|
||||
|
||||
*/
|
||||
|
||||
#include "golds.inc"
|
||||
|
||||
#declare P_Brass1 = color rgb <0.30, 0.20, 0.10>;
|
||||
#declare P_Brass2 = color rgb <0.50, 0.35, 0.25>;
|
||||
#declare P_Brass3 = color rgb <0.58, 0.42, 0.20>;
|
||||
#declare P_Brass4 = color rgb <0.65, 0.50, 0.25>;
|
||||
#declare P_Brass5 = color rgb <0.70, 0.55, 0.40>;
|
||||
|
||||
#declare P_Copper1 = color rgb <0.40, 0.20, 0.15>;
|
||||
#declare P_Copper2 = color rgb <0.50, 0.25, 0.15>;
|
||||
#declare P_Copper3 = color rgb <0.60, 0.30, 0.15>;
|
||||
#declare P_Copper4 = color rgb <0.70, 0.25, 0.15>;
|
||||
#declare P_Copper5 = color rgb <0.65, 0.35, 0.15>;
|
||||
|
||||
#declare P_Chrome1 = color rgb <0.20, 0.20, 0.20>;
|
||||
#declare P_Chrome2 = color rgb <0.39, 0.41, 0.43>;
|
||||
#declare P_Chrome3 = color rgb <0.50, 0.50, 0.50>;
|
||||
#declare P_Chrome4 = color rgb <0.75, 0.75, 0.75>;
|
||||
#declare P_Chrome5 = color rgb <0.95, 0.95, 0.95>;
|
||||
|
||||
#declare P_Silver1 = color rgb <0.94, 0.93, 0.80>;
|
||||
#declare P_Silver2 = color rgb <0.94, 0.93, 0.85>;
|
||||
#declare P_Silver3 = color rgb <0.94, 0.93, 0.90>;
|
||||
#declare P_Silver4 = color rgb <0.95, 0.91, 0.91>;
|
||||
#declare P_Silver5 = color rgb <0.91, 0.95, 0.91>;
|
||||
|
||||
//*****************************************************************************
|
||||
// BASIC METAL FINISHES
|
||||
//*****************************************************************************
|
||||
|
||||
// F_MetalA : Very soft and dull.
|
||||
// F_MetalB : Fairly soft and dull.
|
||||
// F_MetalC : Medium reflectivity. Holds color well.
|
||||
// F_MetalD : Highly hard and polished. High reflectivity.
|
||||
// F_MetalE : Very highly polished & reflective.
|
||||
|
||||
#declare F_MetalA =
|
||||
finish {
|
||||
ambient 0.35
|
||||
brilliance 2
|
||||
diffuse 0.3
|
||||
metallic
|
||||
specular 0.80
|
||||
roughness 1/20
|
||||
reflection 0.1
|
||||
}
|
||||
|
||||
#declare F_MetalB =
|
||||
finish {
|
||||
ambient 0.30
|
||||
brilliance 3
|
||||
diffuse 0.4
|
||||
metallic
|
||||
specular 0.70
|
||||
roughness 1/60
|
||||
reflection 0.25
|
||||
}
|
||||
|
||||
#declare F_MetalC =
|
||||
finish {
|
||||
ambient 0.25
|
||||
brilliance 4
|
||||
diffuse 0.5
|
||||
metallic
|
||||
specular 0.80
|
||||
roughness 1/80
|
||||
reflection 0.5
|
||||
}
|
||||
|
||||
#declare F_MetalD =
|
||||
finish {
|
||||
ambient 0.15
|
||||
brilliance 5
|
||||
diffuse 0.6
|
||||
metallic
|
||||
specular 0.80
|
||||
roughness 1/100
|
||||
reflection 0.65
|
||||
}
|
||||
|
||||
#declare F_MetalE =
|
||||
finish {
|
||||
ambient 0.1
|
||||
brilliance 6
|
||||
diffuse 0.7
|
||||
metallic
|
||||
specular 0.80
|
||||
roughness 1/120
|
||||
reflection 0.8
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
// METAL TEXTURES
|
||||
//*****************************************************************************
|
||||
|
||||
// BRASSES
|
||||
#declare T_Brass_1A = texture { pigment { P_Brass1 } finish { F_MetalA } }
|
||||
#declare T_Brass_1B = texture { pigment { P_Brass1 } finish { F_MetalB } }
|
||||
#declare T_Brass_1C = texture { pigment { P_Brass1 } finish { F_MetalC } }
|
||||
#declare T_Brass_1D = texture { pigment { P_Brass1 } finish { F_MetalD } }
|
||||
#declare T_Brass_1E = texture { pigment { P_Brass1 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Brass_2A = texture { pigment { P_Brass2 } finish { F_MetalA } }
|
||||
#declare T_Brass_2B = texture { pigment { P_Brass2 } finish { F_MetalB } }
|
||||
#declare T_Brass_2C = texture { pigment { P_Brass2 } finish { F_MetalC } }
|
||||
#declare T_Brass_2D = texture { pigment { P_Brass2 } finish { F_MetalD } }
|
||||
#declare T_Brass_2E = texture { pigment { P_Brass2 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Brass_3A = texture { pigment { P_Brass3 } finish { F_MetalA } }
|
||||
#declare T_Brass_3B = texture { pigment { P_Brass3 } finish { F_MetalB } }
|
||||
#declare T_Brass_3C = texture { pigment { P_Brass3 } finish { F_MetalC } }
|
||||
#declare T_Brass_3D = texture { pigment { P_Brass3 } finish { F_MetalD } }
|
||||
#declare T_Brass_3E = texture { pigment { P_Brass3 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Brass_4A = texture { pigment { P_Brass4 } finish { F_MetalA } }
|
||||
#declare T_Brass_4B = texture { pigment { P_Brass4 } finish { F_MetalB } }
|
||||
#declare T_Brass_4C = texture { pigment { P_Brass4 } finish { F_MetalC } }
|
||||
#declare T_Brass_4D = texture { pigment { P_Brass4 } finish { F_MetalD } }
|
||||
#declare T_Brass_4E = texture { pigment { P_Brass4 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Brass_5A = texture { pigment { P_Brass5 } finish { F_MetalA } }
|
||||
#declare T_Brass_5B = texture { pigment { P_Brass5 } finish { F_MetalB } }
|
||||
#declare T_Brass_5C = texture { pigment { P_Brass5 } finish { F_MetalC } }
|
||||
#declare T_Brass_5D = texture { pigment { P_Brass5 } finish { F_MetalD } }
|
||||
#declare T_Brass_5E = texture { pigment { P_Brass5 } finish { F_MetalE } }
|
||||
|
||||
// COPPERS & BRONZES
|
||||
#declare T_Copper_1A = texture { pigment { P_Copper1 } finish { F_MetalA } }
|
||||
#declare T_Copper_1B = texture { pigment { P_Copper1 } finish { F_MetalB } }
|
||||
#declare T_Copper_1C = texture { pigment { P_Copper1 } finish { F_MetalC } }
|
||||
#declare T_Copper_1D = texture { pigment { P_Copper1 } finish { F_MetalD } }
|
||||
#declare T_Copper_1E = texture { pigment { P_Copper1 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Copper_2A = texture { pigment { P_Copper2 } finish { F_MetalA } }
|
||||
#declare T_Copper_2B = texture { pigment { P_Copper2 } finish { F_MetalB } }
|
||||
#declare T_Copper_2C = texture { pigment { P_Copper2 } finish { F_MetalC } }
|
||||
#declare T_Copper_2D = texture { pigment { P_Copper2 } finish { F_MetalD } }
|
||||
#declare T_Copper_2E = texture { pigment { P_Copper2 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Copper_3A = texture { pigment { P_Copper3 } finish { F_MetalA } }
|
||||
#declare T_Copper_3B = texture { pigment { P_Copper3 } finish { F_MetalB } }
|
||||
#declare T_Copper_3C = texture { pigment { P_Copper3 } finish { F_MetalC } }
|
||||
#declare T_Copper_3D = texture { pigment { P_Copper3 } finish { F_MetalD } }
|
||||
#declare T_Copper_3E = texture { pigment { P_Copper3 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Copper_4A = texture { pigment { P_Copper4 } finish { F_MetalA } }
|
||||
#declare T_Copper_4B = texture { pigment { P_Copper4 } finish { F_MetalB } }
|
||||
#declare T_Copper_4C = texture { pigment { P_Copper4 } finish { F_MetalC } }
|
||||
#declare T_Copper_4D = texture { pigment { P_Copper4 } finish { F_MetalD } }
|
||||
#declare T_Copper_4E = texture { pigment { P_Copper4 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Copper_5A = texture { pigment { P_Copper5 } finish { F_MetalA } }
|
||||
#declare T_Copper_5B = texture { pigment { P_Copper5 } finish { F_MetalB } }
|
||||
#declare T_Copper_5C = texture { pigment { P_Copper5 } finish { F_MetalC } }
|
||||
#declare T_Copper_5D = texture { pigment { P_Copper5 } finish { F_MetalD } }
|
||||
#declare T_Copper_5E = texture { pigment { P_Copper5 } finish { F_MetalE } }
|
||||
|
||||
// CHROMES & STEELS
|
||||
#declare T_Chrome_1A = texture { pigment { P_Chrome1 } finish { F_MetalA } }
|
||||
#declare T_Chrome_1B = texture { pigment { P_Chrome1 } finish { F_MetalB } }
|
||||
#declare T_Chrome_1C = texture { pigment { P_Chrome1 } finish { F_MetalC } }
|
||||
#declare T_Chrome_1D = texture { pigment { P_Chrome1 } finish { F_MetalD } }
|
||||
#declare T_Chrome_1E = texture { pigment { P_Chrome1 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Chrome_2A = texture { pigment { P_Chrome2 } finish { F_MetalA } }
|
||||
#declare T_Chrome_2B = texture { pigment { P_Chrome2 } finish { F_MetalB } }
|
||||
#declare T_Chrome_2C = texture { pigment { P_Chrome2 } finish { F_MetalC } }
|
||||
#declare T_Chrome_2D = texture { pigment { P_Chrome2 } finish { F_MetalD } }
|
||||
#declare T_Chrome_2E = texture { pigment { P_Chrome2 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Chrome_3A = texture { pigment { P_Chrome3 } finish { F_MetalA } }
|
||||
#declare T_Chrome_3B = texture { pigment { P_Chrome3 } finish { F_MetalB } }
|
||||
#declare T_Chrome_3C = texture { pigment { P_Chrome3 } finish { F_MetalC } }
|
||||
#declare T_Chrome_3D = texture { pigment { P_Chrome3 } finish { F_MetalD } }
|
||||
#declare T_Chrome_3E = texture { pigment { P_Chrome3 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Chrome_4A = texture { pigment { P_Chrome4 } finish { F_MetalA } }
|
||||
#declare T_Chrome_4B = texture { pigment { P_Chrome4 } finish { F_MetalB } }
|
||||
#declare T_Chrome_4C = texture { pigment { P_Chrome4 } finish { F_MetalC } }
|
||||
#declare T_Chrome_4D = texture { pigment { P_Chrome4 } finish { F_MetalD } }
|
||||
#declare T_Chrome_4E = texture { pigment { P_Chrome4 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Chrome_5A = texture { pigment { P_Chrome5 } finish { F_MetalA } }
|
||||
#declare T_Chrome_5B = texture { pigment { P_Chrome5 } finish { F_MetalB } }
|
||||
#declare T_Chrome_5C = texture { pigment { P_Chrome5 } finish { F_MetalC } }
|
||||
#declare T_Chrome_5D = texture { pigment { P_Chrome5 } finish { F_MetalD } }
|
||||
#declare T_Chrome_5E = texture { pigment { P_Chrome5 } finish { F_MetalE } }
|
||||
|
||||
// SILVERS
|
||||
#declare T_Silver_1A = texture { pigment { P_Silver1 } finish { F_MetalA } }
|
||||
#declare T_Silver_1B = texture { pigment { P_Silver1 } finish { F_MetalB } }
|
||||
#declare T_Silver_1C = texture { pigment { P_Silver1 } finish { F_MetalC } }
|
||||
#declare T_Silver_1D = texture { pigment { P_Silver1 } finish { F_MetalD } }
|
||||
#declare T_Silver_1E = texture { pigment { P_Silver1 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Silver_2A = texture { pigment { P_Silver2 } finish { F_MetalA } }
|
||||
#declare T_Silver_2B = texture { pigment { P_Silver2 } finish { F_MetalB } }
|
||||
#declare T_Silver_2C = texture { pigment { P_Silver2 } finish { F_MetalC } }
|
||||
#declare T_Silver_2D = texture { pigment { P_Silver2 } finish { F_MetalD } }
|
||||
#declare T_Silver_2E = texture { pigment { P_Silver2 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Silver_3A = texture { pigment { P_Silver3 } finish { F_MetalA } }
|
||||
#declare T_Silver_3B = texture { pigment { P_Silver3 } finish { F_MetalB } }
|
||||
#declare T_Silver_3C = texture { pigment { P_Silver3 } finish { F_MetalC } }
|
||||
#declare T_Silver_3D = texture { pigment { P_Silver3 } finish { F_MetalD } }
|
||||
#declare T_Silver_3E = texture { pigment { P_Silver3 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Silver_4A = texture { pigment { P_Silver4 } finish { F_MetalA } }
|
||||
#declare T_Silver_4B = texture { pigment { P_Silver4 } finish { F_MetalB } }
|
||||
#declare T_Silver_4C = texture { pigment { P_Silver4 } finish { F_MetalC } }
|
||||
#declare T_Silver_4D = texture { pigment { P_Silver4 } finish { F_MetalD } }
|
||||
#declare T_Silver_4E = texture { pigment { P_Silver4 } finish { F_MetalE } }
|
||||
|
||||
#declare T_Silver_5A = texture { pigment { P_Silver5 } finish { F_MetalA } }
|
||||
#declare T_Silver_5B = texture { pigment { P_Silver5 } finish { F_MetalB } }
|
||||
#declare T_Silver_5C = texture { pigment { P_Silver5 } finish { F_MetalC } }
|
||||
#declare T_Silver_5D = texture { pigment { P_Silver5 } finish { F_MetalD } }
|
||||
#declare T_Silver_5E = texture { pigment { P_Silver5 } finish { F_MetalE } }
|
||||
|
||||
|
||||
#version Metals_Inc_Temp;
|
||||
#end
|
||||
BIN
distribution/include/mtmand.pot
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
distribution/include/mtmandj.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
266
distribution/include/orngwood.map
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
#declare Orngwood_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Orange wood color_map
|
||||
*/
|
||||
|
||||
#declare M_Orangewood =
|
||||
color_map {
|
||||
[0.000000 rgb <0.470588, 0.219608, 0.000000>]
|
||||
[0.003922 rgb <0.470588, 0.250980, 0.000000>]
|
||||
[0.007843 rgb <0.501961, 0.188235, 0.000000>]
|
||||
[0.011765 rgb <0.501961, 0.282353, 0.000000>]
|
||||
[0.015686 rgb <0.533333, 0.219608, 0.000000>]
|
||||
[0.019608 rgb <0.533333, 0.250980, 0.000000>]
|
||||
[0.023529 rgb <0.533333, 0.250980, 0.031373>]
|
||||
[0.027451 rgb <0.580392, 0.188235, 0.000000>]
|
||||
[0.031373 rgb <0.580392, 0.219608, 0.000000>]
|
||||
[0.035294 rgb <0.580392, 0.219608, 0.031373>]
|
||||
[0.039216 rgb <0.580392, 0.250980, 0.000000>]
|
||||
[0.043137 rgb <0.580392, 0.250980, 0.031373>]
|
||||
[0.047059 rgb <0.580392, 0.282353, 0.000000>]
|
||||
[0.050980 rgb <0.580392, 0.282353, 0.031373>]
|
||||
[0.054902 rgb <0.580392, 0.313726, 0.000000>]
|
||||
[0.058824 rgb <0.611765, 0.219608, 0.000000>]
|
||||
[0.062745 rgb <0.611765, 0.250980, 0.000000>]
|
||||
[0.066667 rgb <0.611765, 0.250980, 0.031373>]
|
||||
[0.070588 rgb <0.611765, 0.282353, 0.000000>]
|
||||
[0.074510 rgb <0.611765, 0.282353, 0.031373>]
|
||||
[0.078431 rgb <0.611765, 0.345098, 0.031373>]
|
||||
[0.082353 rgb <0.643137, 0.188235, 0.000000>]
|
||||
[0.086275 rgb <0.643137, 0.219608, 0.000000>]
|
||||
[0.090196 rgb <0.643137, 0.250980, 0.000000>]
|
||||
[0.094118 rgb <0.643137, 0.250980, 0.031373>]
|
||||
[0.098039 rgb <0.643137, 0.282353, 0.000000>]
|
||||
[0.101961 rgb <0.643137, 0.282353, 0.031373>]
|
||||
[0.105882 rgb <0.643137, 0.313726, 0.000000>]
|
||||
[0.109804 rgb <0.643137, 0.313726, 0.031373>]
|
||||
[0.113725 rgb <0.643137, 0.313726, 0.062745>]
|
||||
[0.117647 rgb <0.643137, 0.345098, 0.000000>]
|
||||
[0.121569 rgb <0.643137, 0.345098, 0.031373>]
|
||||
[0.125490 rgb <0.674510, 0.219608, 0.000000>]
|
||||
[0.129412 rgb <0.674510, 0.250980, 0.000000>]
|
||||
[0.133333 rgb <0.674510, 0.250980, 0.031373>]
|
||||
[0.137255 rgb <0.674510, 0.282353, 0.000000>]
|
||||
[0.141176 rgb <0.674510, 0.282353, 0.031373>]
|
||||
[0.145098 rgb <0.674510, 0.313726, 0.000000>]
|
||||
[0.149020 rgb <0.674510, 0.313726, 0.031373>]
|
||||
[0.152941 rgb <0.674510, 0.313726, 0.062745>]
|
||||
[0.156863 rgb <0.674510, 0.345098, 0.000000>]
|
||||
[0.160784 rgb <0.674510, 0.345098, 0.031373>]
|
||||
[0.164706 rgb <0.674510, 0.345098, 0.062745>]
|
||||
[0.168627 rgb <0.674510, 0.376471, 0.031373>]
|
||||
[0.172549 rgb <0.705882, 0.219608, 0.000000>]
|
||||
[0.176471 rgb <0.705882, 0.282353, 0.000000>]
|
||||
[0.180392 rgb <0.705882, 0.282353, 0.031373>]
|
||||
[0.184314 rgb <0.705882, 0.313726, 0.000000>]
|
||||
[0.188235 rgb <0.705882, 0.313726, 0.031373>]
|
||||
[0.192157 rgb <0.705882, 0.313726, 0.062745>]
|
||||
[0.196078 rgb <0.705882, 0.345098, 0.000000>]
|
||||
[0.200000 rgb <0.705882, 0.345098, 0.031373>]
|
||||
[0.203922 rgb <0.705882, 0.345098, 0.062745>]
|
||||
[0.207843 rgb <0.705882, 0.376471, 0.000000>]
|
||||
[0.211765 rgb <0.705882, 0.376471, 0.031373>]
|
||||
[0.215686 rgb <0.705882, 0.376471, 0.062745>]
|
||||
[0.219608 rgb <0.705882, 0.407843, 0.000000>]
|
||||
[0.223529 rgb <0.705882, 0.407843, 0.031373>]
|
||||
[0.227451 rgb <0.705882, 0.407843, 0.062745>]
|
||||
[0.231373 rgb <0.737255, 0.282353, 0.000000>]
|
||||
[0.235294 rgb <0.737255, 0.282353, 0.031373>]
|
||||
[0.239216 rgb <0.737255, 0.313726, 0.000000>]
|
||||
[0.243137 rgb <0.737255, 0.313726, 0.031373>]
|
||||
[0.247059 rgb <0.737255, 0.313726, 0.062745>]
|
||||
[0.250980 rgb <0.737255, 0.345098, 0.000000>]
|
||||
[0.254902 rgb <0.737255, 0.345098, 0.031373>]
|
||||
[0.258824 rgb <0.737255, 0.345098, 0.062745>]
|
||||
[0.262745 rgb <0.737255, 0.376471, 0.000000>]
|
||||
[0.266667 rgb <0.737255, 0.376471, 0.031373>]
|
||||
[0.270588 rgb <0.737255, 0.376471, 0.062745>]
|
||||
[0.274510 rgb <0.737255, 0.376471, 0.094118>]
|
||||
[0.278431 rgb <0.737255, 0.407843, 0.000000>]
|
||||
[0.282353 rgb <0.737255, 0.407843, 0.031373>]
|
||||
[0.286275 rgb <0.737255, 0.439216, 0.031373>]
|
||||
[0.290196 rgb <0.768627, 0.282353, 0.000000>]
|
||||
[0.294118 rgb <0.768627, 0.313726, 0.000000>]
|
||||
[0.298039 rgb <0.768627, 0.313726, 0.031373>]
|
||||
[0.301961 rgb <0.768627, 0.345098, 0.000000>]
|
||||
[0.305882 rgb <0.768627, 0.345098, 0.031373>]
|
||||
[0.309804 rgb <0.768627, 0.345098, 0.062745>]
|
||||
[0.313726 rgb <0.768627, 0.376471, 0.000000>]
|
||||
[0.317647 rgb <0.768627, 0.376471, 0.031373>]
|
||||
[0.321569 rgb <0.768627, 0.376471, 0.062745>]
|
||||
[0.325490 rgb <0.768627, 0.376471, 0.094118>]
|
||||
[0.329412 rgb <0.768627, 0.407843, 0.000000>]
|
||||
[0.333333 rgb <0.768627, 0.407843, 0.031373>]
|
||||
[0.337255 rgb <0.768627, 0.407843, 0.062745>]
|
||||
[0.341176 rgb <0.768627, 0.407843, 0.094118>]
|
||||
[0.345098 rgb <0.768627, 0.439216, 0.000000>]
|
||||
[0.349020 rgb <0.768627, 0.439216, 0.031373>]
|
||||
[0.352941 rgb <0.768627, 0.439216, 0.062745>]
|
||||
[0.356863 rgb <0.768627, 0.439216, 0.094118>]
|
||||
[0.360784 rgb <0.768627, 0.470588, 0.000000>]
|
||||
[0.364706 rgb <0.768627, 0.470588, 0.062745>]
|
||||
[0.368627 rgb <0.800000, 0.313726, 0.000000>]
|
||||
[0.372549 rgb <0.800000, 0.345098, 0.000000>]
|
||||
[0.376471 rgb <0.800000, 0.345098, 0.031373>]
|
||||
[0.380392 rgb <0.800000, 0.345098, 0.062745>]
|
||||
[0.384314 rgb <0.800000, 0.376471, 0.000000>]
|
||||
[0.388235 rgb <0.800000, 0.376471, 0.031373>]
|
||||
[0.392157 rgb <0.800000, 0.376471, 0.062745>]
|
||||
[0.396078 rgb <0.800000, 0.376471, 0.094118>]
|
||||
[0.400000 rgb <0.800000, 0.407843, 0.000000>]
|
||||
[0.403922 rgb <0.800000, 0.407843, 0.031373>]
|
||||
[0.407843 rgb <0.800000, 0.407843, 0.062745>]
|
||||
[0.411765 rgb <0.800000, 0.407843, 0.094118>]
|
||||
[0.415686 rgb <0.800000, 0.439216, 0.000000>]
|
||||
[0.419608 rgb <0.800000, 0.439216, 0.031373>]
|
||||
[0.423529 rgb <0.800000, 0.439216, 0.062745>]
|
||||
[0.427451 rgb <0.800000, 0.439216, 0.094118>]
|
||||
[0.431373 rgb <0.800000, 0.439216, 0.125490>]
|
||||
[0.435294 rgb <0.800000, 0.470588, 0.000000>]
|
||||
[0.439216 rgb <0.800000, 0.470588, 0.062745>]
|
||||
[0.443137 rgb <0.800000, 0.470588, 0.094118>]
|
||||
[0.447059 rgb <0.800000, 0.501961, 0.000000>]
|
||||
[0.450980 rgb <0.800000, 0.501961, 0.062745>]
|
||||
[0.454902 rgb <0.831373, 0.345098, 0.031373>]
|
||||
[0.458824 rgb <0.831373, 0.376471, 0.000000>]
|
||||
[0.462745 rgb <0.831373, 0.376471, 0.031373>]
|
||||
[0.466667 rgb <0.831373, 0.376471, 0.062745>]
|
||||
[0.470588 rgb <0.831373, 0.376471, 0.094118>]
|
||||
[0.474510 rgb <0.831373, 0.407843, 0.000000>]
|
||||
[0.478431 rgb <0.831373, 0.407843, 0.031373>]
|
||||
[0.482353 rgb <0.831373, 0.407843, 0.062745>]
|
||||
[0.486275 rgb <0.831373, 0.407843, 0.094118>]
|
||||
[0.490196 rgb <0.831373, 0.439216, 0.000000>]
|
||||
[0.494118 rgb <0.831373, 0.439216, 0.031373>]
|
||||
[0.498039 rgb <0.831373, 0.439216, 0.062745>]
|
||||
[0.501961 rgb <0.831373, 0.439216, 0.094118>]
|
||||
[0.505882 rgb <0.831373, 0.439216, 0.125490>]
|
||||
[0.509804 rgb <0.831373, 0.470588, 0.000000>]
|
||||
[0.513726 rgb <0.831373, 0.470588, 0.031373>]
|
||||
[0.517647 rgb <0.831373, 0.470588, 0.062745>]
|
||||
[0.521569 rgb <0.831373, 0.470588, 0.094118>]
|
||||
[0.525490 rgb <0.831373, 0.470588, 0.125490>]
|
||||
[0.529412 rgb <0.831373, 0.501961, 0.062745>]
|
||||
[0.533333 rgb <0.862745, 0.345098, 0.031373>]
|
||||
[0.537255 rgb <0.862745, 0.376471, 0.000000>]
|
||||
[0.541176 rgb <0.862745, 0.376471, 0.031373>]
|
||||
[0.545098 rgb <0.862745, 0.376471, 0.062745>]
|
||||
[0.549020 rgb <0.862745, 0.407843, 0.000000>]
|
||||
[0.552941 rgb <0.862745, 0.407843, 0.031373>]
|
||||
[0.556863 rgb <0.862745, 0.407843, 0.062745>]
|
||||
[0.560784 rgb <0.862745, 0.407843, 0.094118>]
|
||||
[0.564706 rgb <0.862745, 0.439216, 0.000000>]
|
||||
[0.568627 rgb <0.862745, 0.439216, 0.031373>]
|
||||
[0.572549 rgb <0.862745, 0.439216, 0.062745>]
|
||||
[0.576471 rgb <0.862745, 0.439216, 0.094118>]
|
||||
[0.580392 rgb <0.862745, 0.439216, 0.125490>]
|
||||
[0.584314 rgb <0.862745, 0.470588, 0.000000>]
|
||||
[0.588235 rgb <0.862745, 0.470588, 0.031373>]
|
||||
[0.592157 rgb <0.862745, 0.470588, 0.062745>]
|
||||
[0.596078 rgb <0.862745, 0.470588, 0.094118>]
|
||||
[0.600000 rgb <0.862745, 0.470588, 0.125490>]
|
||||
[0.603922 rgb <0.862745, 0.501961, 0.000000>]
|
||||
[0.607843 rgb <0.862745, 0.501961, 0.031373>]
|
||||
[0.611765 rgb <0.862745, 0.501961, 0.062745>]
|
||||
[0.615686 rgb <0.862745, 0.501961, 0.094118>]
|
||||
[0.619608 rgb <0.862745, 0.501961, 0.125490>]
|
||||
[0.623529 rgb <0.862745, 0.501961, 0.156863>]
|
||||
[0.627451 rgb <0.862745, 0.533333, 0.031373>]
|
||||
[0.631373 rgb <0.862745, 0.533333, 0.094118>]
|
||||
[0.635294 rgb <0.862745, 0.533333, 0.125490>]
|
||||
[0.639216 rgb <0.894118, 0.407843, 0.000000>]
|
||||
[0.643137 rgb <0.894118, 0.407843, 0.031373>]
|
||||
[0.647059 rgb <0.894118, 0.407843, 0.062745>]
|
||||
[0.650980 rgb <0.894118, 0.439216, 0.000000>]
|
||||
[0.654902 rgb <0.894118, 0.439216, 0.031373>]
|
||||
[0.658824 rgb <0.894118, 0.439216, 0.062745>]
|
||||
[0.662745 rgb <0.894118, 0.439216, 0.094118>]
|
||||
[0.666667 rgb <0.894118, 0.439216, 0.125490>]
|
||||
[0.670588 rgb <0.894118, 0.470588, 0.000000>]
|
||||
[0.674510 rgb <0.894118, 0.470588, 0.031373>]
|
||||
[0.678431 rgb <0.894118, 0.470588, 0.062745>]
|
||||
[0.682353 rgb <0.894118, 0.470588, 0.094118>]
|
||||
[0.686275 rgb <0.894118, 0.470588, 0.125490>]
|
||||
[0.690196 rgb <0.894118, 0.470588, 0.156863>]
|
||||
[0.694118 rgb <0.894118, 0.501961, 0.000000>]
|
||||
[0.698039 rgb <0.894118, 0.501961, 0.031373>]
|
||||
[0.701961 rgb <0.894118, 0.501961, 0.062745>]
|
||||
[0.705882 rgb <0.894118, 0.501961, 0.094118>]
|
||||
[0.709804 rgb <0.894118, 0.501961, 0.125490>]
|
||||
[0.713726 rgb <0.894118, 0.501961, 0.156863>]
|
||||
[0.717647 rgb <0.894118, 0.533333, 0.094118>]
|
||||
[0.721569 rgb <0.894118, 0.533333, 0.125490>]
|
||||
[0.725490 rgb <0.894118, 0.533333, 0.156863>]
|
||||
[0.729412 rgb <0.894118, 0.580392, 0.094118>]
|
||||
[0.733333 rgb <0.894118, 0.580392, 0.125490>]
|
||||
[0.737255 rgb <0.925490, 0.407843, 0.062745>]
|
||||
[0.741176 rgb <0.925490, 0.439216, 0.000000>]
|
||||
[0.745098 rgb <0.925490, 0.439216, 0.031373>]
|
||||
[0.749020 rgb <0.925490, 0.439216, 0.062745>]
|
||||
[0.752941 rgb <0.925490, 0.439216, 0.094118>]
|
||||
[0.756863 rgb <0.925490, 0.470588, 0.000000>]
|
||||
[0.760784 rgb <0.925490, 0.470588, 0.031373>]
|
||||
[0.764706 rgb <0.925490, 0.470588, 0.062745>]
|
||||
[0.768627 rgb <0.925490, 0.470588, 0.094118>]
|
||||
[0.772549 rgb <0.925490, 0.470588, 0.125490>]
|
||||
[0.776471 rgb <0.925490, 0.470588, 0.156863>]
|
||||
[0.780392 rgb <0.925490, 0.501961, 0.000000>]
|
||||
[0.784314 rgb <0.925490, 0.501961, 0.031373>]
|
||||
[0.788235 rgb <0.925490, 0.501961, 0.062745>]
|
||||
[0.792157 rgb <0.925490, 0.501961, 0.094118>]
|
||||
[0.796078 rgb <0.925490, 0.501961, 0.125490>]
|
||||
[0.800000 rgb <0.925490, 0.501961, 0.156863>]
|
||||
[0.803922 rgb <0.925490, 0.533333, 0.000000>]
|
||||
[0.807843 rgb <0.925490, 0.533333, 0.062745>]
|
||||
[0.811765 rgb <0.925490, 0.533333, 0.094118>]
|
||||
[0.815686 rgb <0.925490, 0.533333, 0.125490>]
|
||||
[0.819608 rgb <0.925490, 0.533333, 0.156863>]
|
||||
[0.823529 rgb <0.925490, 0.580392, 0.031373>]
|
||||
[0.827451 rgb <0.925490, 0.611765, 0.094118>]
|
||||
[0.831373 rgb <0.956863, 0.407843, 0.062745>]
|
||||
[0.835294 rgb <0.956863, 0.470588, 0.000000>]
|
||||
[0.839216 rgb <0.956863, 0.470588, 0.031373>]
|
||||
[0.843137 rgb <0.956863, 0.470588, 0.062745>]
|
||||
[0.847059 rgb <0.956863, 0.470588, 0.094118>]
|
||||
[0.850980 rgb <0.956863, 0.470588, 0.125490>]
|
||||
[0.854902 rgb <0.956863, 0.501961, 0.000000>]
|
||||
[0.858824 rgb <0.956863, 0.501961, 0.031373>]
|
||||
[0.862745 rgb <0.956863, 0.501961, 0.062745>]
|
||||
[0.866667 rgb <0.956863, 0.501961, 0.094118>]
|
||||
[0.870588 rgb <0.956863, 0.501961, 0.125490>]
|
||||
[0.874510 rgb <0.956863, 0.501961, 0.156863>]
|
||||
[0.878431 rgb <0.956863, 0.533333, 0.000000>]
|
||||
[0.882353 rgb <0.956863, 0.533333, 0.062745>]
|
||||
[0.886275 rgb <0.956863, 0.533333, 0.094118>]
|
||||
[0.890196 rgb <0.956863, 0.533333, 0.125490>]
|
||||
[0.894118 rgb <0.956863, 0.533333, 0.156863>]
|
||||
[0.898039 rgb <0.956863, 0.533333, 0.188235>]
|
||||
[0.901961 rgb <0.956863, 0.580392, 0.000000>]
|
||||
[0.905882 rgb <0.956863, 0.580392, 0.062745>]
|
||||
[0.909804 rgb <0.956863, 0.580392, 0.094118>]
|
||||
[0.913725 rgb <0.956863, 0.580392, 0.125490>]
|
||||
[0.917647 rgb <0.956863, 0.580392, 0.156863>]
|
||||
[0.921569 rgb <0.956863, 0.580392, 0.188235>]
|
||||
[0.925490 rgb <0.988235, 0.470588, 0.031373>]
|
||||
[0.929412 rgb <0.988235, 0.470588, 0.094118>]
|
||||
[0.933333 rgb <0.988235, 0.501961, 0.031373>]
|
||||
[0.937255 rgb <0.988235, 0.501961, 0.094118>]
|
||||
[0.941176 rgb <0.988235, 0.501961, 0.125490>]
|
||||
[0.945098 rgb <0.988235, 0.533333, 0.000000>]
|
||||
[0.949020 rgb <0.988235, 0.533333, 0.062745>]
|
||||
[0.952941 rgb <0.988235, 0.533333, 0.094118>]
|
||||
[0.956863 rgb <0.988235, 0.533333, 0.125490>]
|
||||
[0.960784 rgb <0.988235, 0.533333, 0.156863>]
|
||||
[0.964706 rgb <0.988235, 0.580392, 0.031373>]
|
||||
[0.968627 rgb <0.988235, 0.580392, 0.094118>]
|
||||
[0.972549 rgb <0.988235, 0.580392, 0.125490>]
|
||||
[0.976471 rgb <0.988235, 0.580392, 0.156863>]
|
||||
[0.980392 rgb <0.988235, 0.580392, 0.188235>]
|
||||
[0.984314 rgb <0.988235, 0.611765, 0.062745>]
|
||||
[0.988235 rgb <0.988235, 0.611765, 0.125490>]
|
||||
[0.992157 rgb <0.988235, 0.611765, 0.156863>]
|
||||
[0.996078 rgb <0.988235, 0.611765, 0.188235>]
|
||||
}
|
||||
#version Orngwood_Inc_Temp;
|
||||
266
distribution/include/pinkmarb.map
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
#declare PinkMarb_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Pink Marble color_map
|
||||
*/
|
||||
|
||||
#declare M_PinkMarb =
|
||||
color_map {
|
||||
[0.000000 rgb <0.345098, 0.250980, 0.219608>]
|
||||
[0.003922 rgb <0.345098, 0.313726, 0.250980>]
|
||||
[0.007843 rgb <0.345098, 0.345098, 0.282353>]
|
||||
[0.011765 rgb <0.376471, 0.376471, 0.313726>]
|
||||
[0.015686 rgb <0.407843, 0.313726, 0.250980>]
|
||||
[0.019608 rgb <0.407843, 0.345098, 0.250980>]
|
||||
[0.023529 rgb <0.407843, 0.345098, 0.313726>]
|
||||
[0.027451 rgb <0.407843, 0.345098, 0.345098>]
|
||||
[0.031373 rgb <0.407843, 0.407843, 0.313726>]
|
||||
[0.035294 rgb <0.407843, 0.407843, 0.376471>]
|
||||
[0.039216 rgb <0.439216, 0.345098, 0.282353>]
|
||||
[0.043137 rgb <0.439216, 0.345098, 0.313726>]
|
||||
[0.047059 rgb <0.439216, 0.345098, 0.345098>]
|
||||
[0.050980 rgb <0.439216, 0.376471, 0.313726>]
|
||||
[0.054902 rgb <0.439216, 0.376471, 0.345098>]
|
||||
[0.058824 rgb <0.439216, 0.376471, 0.376471>]
|
||||
[0.062745 rgb <0.439216, 0.407843, 0.376471>]
|
||||
[0.066667 rgb <0.439216, 0.407843, 0.407843>]
|
||||
[0.070588 rgb <0.439216, 0.439216, 0.376471>]
|
||||
[0.074510 rgb <0.439216, 0.439216, 0.407843>]
|
||||
[0.078431 rgb <0.470588, 0.345098, 0.282353>]
|
||||
[0.082353 rgb <0.470588, 0.376471, 0.282353>]
|
||||
[0.086275 rgb <0.470588, 0.376471, 0.313726>]
|
||||
[0.090196 rgb <0.470588, 0.376471, 0.345098>]
|
||||
[0.094118 rgb <0.470588, 0.376471, 0.376471>]
|
||||
[0.098039 rgb <0.470588, 0.407843, 0.313726>]
|
||||
[0.101961 rgb <0.470588, 0.407843, 0.345098>]
|
||||
[0.105882 rgb <0.470588, 0.407843, 0.376471>]
|
||||
[0.109804 rgb <0.470588, 0.407843, 0.407843>]
|
||||
[0.113725 rgb <0.470588, 0.439216, 0.345098>]
|
||||
[0.117647 rgb <0.470588, 0.439216, 0.376471>]
|
||||
[0.121569 rgb <0.470588, 0.439216, 0.407843>]
|
||||
[0.125490 rgb <0.470588, 0.439216, 0.439216>]
|
||||
[0.129412 rgb <0.470588, 0.470588, 0.376471>]
|
||||
[0.133333 rgb <0.470588, 0.470588, 0.439216>]
|
||||
[0.137255 rgb <0.501961, 0.376471, 0.282353>]
|
||||
[0.141176 rgb <0.501961, 0.376471, 0.345098>]
|
||||
[0.145098 rgb <0.501961, 0.407843, 0.313726>]
|
||||
[0.149020 rgb <0.501961, 0.407843, 0.345098>]
|
||||
[0.152941 rgb <0.501961, 0.407843, 0.376471>]
|
||||
[0.156863 rgb <0.501961, 0.407843, 0.407843>]
|
||||
[0.160784 rgb <0.501961, 0.439216, 0.345098>]
|
||||
[0.164706 rgb <0.501961, 0.439216, 0.376471>]
|
||||
[0.168627 rgb <0.501961, 0.439216, 0.407843>]
|
||||
[0.172549 rgb <0.501961, 0.439216, 0.439216>]
|
||||
[0.176471 rgb <0.501961, 0.470588, 0.376471>]
|
||||
[0.180392 rgb <0.501961, 0.470588, 0.407843>]
|
||||
[0.184314 rgb <0.501961, 0.470588, 0.439216>]
|
||||
[0.188235 rgb <0.501961, 0.470588, 0.470588>]
|
||||
[0.192157 rgb <0.501961, 0.501961, 0.439216>]
|
||||
[0.196078 rgb <0.533333, 0.376471, 0.313726>]
|
||||
[0.200000 rgb <0.533333, 0.407843, 0.345098>]
|
||||
[0.203922 rgb <0.533333, 0.407843, 0.376471>]
|
||||
[0.207843 rgb <0.533333, 0.407843, 0.407843>]
|
||||
[0.211765 rgb <0.533333, 0.439216, 0.345098>]
|
||||
[0.215686 rgb <0.533333, 0.439216, 0.376471>]
|
||||
[0.219608 rgb <0.533333, 0.439216, 0.407843>]
|
||||
[0.223529 rgb <0.533333, 0.439216, 0.439216>]
|
||||
[0.227451 rgb <0.533333, 0.470588, 0.376471>]
|
||||
[0.231373 rgb <0.533333, 0.470588, 0.407843>]
|
||||
[0.235294 rgb <0.533333, 0.470588, 0.439216>]
|
||||
[0.239216 rgb <0.533333, 0.470588, 0.470588>]
|
||||
[0.243137 rgb <0.533333, 0.501961, 0.407843>]
|
||||
[0.247059 rgb <0.533333, 0.501961, 0.439216>]
|
||||
[0.250980 rgb <0.533333, 0.501961, 0.470588>]
|
||||
[0.254902 rgb <0.533333, 0.501961, 0.501961>]
|
||||
[0.258824 rgb <0.533333, 0.533333, 0.439216>]
|
||||
[0.262745 rgb <0.533333, 0.533333, 0.501961>]
|
||||
[0.266667 rgb <0.580392, 0.407843, 0.345098>]
|
||||
[0.270588 rgb <0.580392, 0.439216, 0.345098>]
|
||||
[0.274510 rgb <0.580392, 0.439216, 0.376471>]
|
||||
[0.278431 rgb <0.580392, 0.439216, 0.407843>]
|
||||
[0.282353 rgb <0.580392, 0.439216, 0.439216>]
|
||||
[0.286275 rgb <0.580392, 0.470588, 0.376471>]
|
||||
[0.290196 rgb <0.580392, 0.470588, 0.407843>]
|
||||
[0.294118 rgb <0.580392, 0.470588, 0.439216>]
|
||||
[0.298039 rgb <0.580392, 0.470588, 0.470588>]
|
||||
[0.301961 rgb <0.580392, 0.501961, 0.407843>]
|
||||
[0.305882 rgb <0.580392, 0.501961, 0.439216>]
|
||||
[0.309804 rgb <0.580392, 0.501961, 0.470588>]
|
||||
[0.313726 rgb <0.580392, 0.501961, 0.501961>]
|
||||
[0.317647 rgb <0.580392, 0.533333, 0.439216>]
|
||||
[0.321569 rgb <0.580392, 0.533333, 0.470588>]
|
||||
[0.325490 rgb <0.580392, 0.533333, 0.501961>]
|
||||
[0.329412 rgb <0.580392, 0.533333, 0.533333>]
|
||||
[0.333333 rgb <0.580392, 0.580392, 0.501961>]
|
||||
[0.337255 rgb <0.611765, 0.439216, 0.376471>]
|
||||
[0.341176 rgb <0.611765, 0.470588, 0.376471>]
|
||||
[0.345098 rgb <0.611765, 0.470588, 0.407843>]
|
||||
[0.349020 rgb <0.611765, 0.470588, 0.439216>]
|
||||
[0.352941 rgb <0.611765, 0.470588, 0.470588>]
|
||||
[0.356863 rgb <0.611765, 0.501961, 0.407843>]
|
||||
[0.360784 rgb <0.611765, 0.501961, 0.439216>]
|
||||
[0.364706 rgb <0.611765, 0.501961, 0.470588>]
|
||||
[0.368627 rgb <0.611765, 0.501961, 0.501961>]
|
||||
[0.372549 rgb <0.611765, 0.533333, 0.439216>]
|
||||
[0.376471 rgb <0.611765, 0.533333, 0.470588>]
|
||||
[0.380392 rgb <0.611765, 0.533333, 0.501961>]
|
||||
[0.384314 rgb <0.611765, 0.533333, 0.533333>]
|
||||
[0.388235 rgb <0.611765, 0.580392, 0.470588>]
|
||||
[0.392157 rgb <0.611765, 0.580392, 0.501961>]
|
||||
[0.396078 rgb <0.611765, 0.580392, 0.533333>]
|
||||
[0.400000 rgb <0.611765, 0.580392, 0.580392>]
|
||||
[0.403922 rgb <0.611765, 0.611765, 0.533333>]
|
||||
[0.407843 rgb <0.643137, 0.470588, 0.376471>]
|
||||
[0.411765 rgb <0.643137, 0.470588, 0.439216>]
|
||||
[0.415686 rgb <0.643137, 0.501961, 0.407843>]
|
||||
[0.419608 rgb <0.643137, 0.501961, 0.439216>]
|
||||
[0.423529 rgb <0.643137, 0.501961, 0.470588>]
|
||||
[0.427451 rgb <0.643137, 0.501961, 0.501961>]
|
||||
[0.431373 rgb <0.643137, 0.533333, 0.439216>]
|
||||
[0.435294 rgb <0.643137, 0.533333, 0.470588>]
|
||||
[0.439216 rgb <0.643137, 0.533333, 0.501961>]
|
||||
[0.443137 rgb <0.643137, 0.533333, 0.533333>]
|
||||
[0.447059 rgb <0.643137, 0.580392, 0.470588>]
|
||||
[0.450980 rgb <0.643137, 0.580392, 0.501961>]
|
||||
[0.454902 rgb <0.643137, 0.580392, 0.533333>]
|
||||
[0.458824 rgb <0.643137, 0.580392, 0.580392>]
|
||||
[0.462745 rgb <0.643137, 0.611765, 0.501961>]
|
||||
[0.466667 rgb <0.643137, 0.611765, 0.533333>]
|
||||
[0.470588 rgb <0.643137, 0.611765, 0.580392>]
|
||||
[0.474510 rgb <0.643137, 0.611765, 0.611765>]
|
||||
[0.478431 rgb <0.643137, 0.643137, 0.580392>]
|
||||
[0.482353 rgb <0.674510, 0.470588, 0.407843>]
|
||||
[0.486275 rgb <0.674510, 0.501961, 0.407843>]
|
||||
[0.490196 rgb <0.674510, 0.501961, 0.470588>]
|
||||
[0.494118 rgb <0.674510, 0.501961, 0.501961>]
|
||||
[0.498039 rgb <0.674510, 0.533333, 0.439216>]
|
||||
[0.501961 rgb <0.674510, 0.533333, 0.470588>]
|
||||
[0.505882 rgb <0.674510, 0.533333, 0.501961>]
|
||||
[0.509804 rgb <0.674510, 0.533333, 0.533333>]
|
||||
[0.513726 rgb <0.674510, 0.580392, 0.470588>]
|
||||
[0.517647 rgb <0.674510, 0.580392, 0.501961>]
|
||||
[0.521569 rgb <0.674510, 0.580392, 0.533333>]
|
||||
[0.525490 rgb <0.674510, 0.580392, 0.580392>]
|
||||
[0.529412 rgb <0.674510, 0.611765, 0.501961>]
|
||||
[0.533333 rgb <0.674510, 0.611765, 0.533333>]
|
||||
[0.537255 rgb <0.674510, 0.611765, 0.580392>]
|
||||
[0.541176 rgb <0.674510, 0.611765, 0.611765>]
|
||||
[0.545098 rgb <0.674510, 0.643137, 0.533333>]
|
||||
[0.549020 rgb <0.674510, 0.643137, 0.580392>]
|
||||
[0.552941 rgb <0.674510, 0.643137, 0.611765>]
|
||||
[0.556863 rgb <0.674510, 0.674510, 0.643137>]
|
||||
[0.560784 rgb <0.705882, 0.501961, 0.439216>]
|
||||
[0.564706 rgb <0.705882, 0.533333, 0.439216>]
|
||||
[0.568627 rgb <0.705882, 0.533333, 0.470588>]
|
||||
[0.572549 rgb <0.705882, 0.533333, 0.501961>]
|
||||
[0.576471 rgb <0.705882, 0.533333, 0.533333>]
|
||||
[0.580392 rgb <0.705882, 0.580392, 0.470588>]
|
||||
[0.584314 rgb <0.705882, 0.580392, 0.501961>]
|
||||
[0.588235 rgb <0.705882, 0.580392, 0.533333>]
|
||||
[0.592157 rgb <0.705882, 0.580392, 0.580392>]
|
||||
[0.596078 rgb <0.705882, 0.611765, 0.501961>]
|
||||
[0.600000 rgb <0.705882, 0.611765, 0.533333>]
|
||||
[0.603922 rgb <0.705882, 0.611765, 0.580392>]
|
||||
[0.607843 rgb <0.705882, 0.611765, 0.611765>]
|
||||
[0.611765 rgb <0.705882, 0.643137, 0.533333>]
|
||||
[0.615686 rgb <0.705882, 0.643137, 0.580392>]
|
||||
[0.619608 rgb <0.705882, 0.643137, 0.611765>]
|
||||
[0.623529 rgb <0.705882, 0.643137, 0.643137>]
|
||||
[0.627451 rgb <0.705882, 0.674510, 0.580392>]
|
||||
[0.631373 rgb <0.705882, 0.674510, 0.611765>]
|
||||
[0.635294 rgb <0.705882, 0.674510, 0.643137>]
|
||||
[0.639216 rgb <0.705882, 0.705882, 0.643137>]
|
||||
[0.643137 rgb <0.737255, 0.533333, 0.470588>]
|
||||
[0.647059 rgb <0.737255, 0.580392, 0.470588>]
|
||||
[0.650980 rgb <0.737255, 0.580392, 0.501961>]
|
||||
[0.654902 rgb <0.737255, 0.580392, 0.533333>]
|
||||
[0.658824 rgb <0.737255, 0.580392, 0.580392>]
|
||||
[0.662745 rgb <0.737255, 0.611765, 0.501961>]
|
||||
[0.666667 rgb <0.737255, 0.611765, 0.533333>]
|
||||
[0.670588 rgb <0.737255, 0.611765, 0.580392>]
|
||||
[0.674510 rgb <0.737255, 0.611765, 0.611765>]
|
||||
[0.678431 rgb <0.737255, 0.643137, 0.533333>]
|
||||
[0.682353 rgb <0.737255, 0.643137, 0.580392>]
|
||||
[0.686275 rgb <0.737255, 0.643137, 0.611765>]
|
||||
[0.690196 rgb <0.737255, 0.643137, 0.643137>]
|
||||
[0.694118 rgb <0.737255, 0.674510, 0.580392>]
|
||||
[0.698039 rgb <0.737255, 0.674510, 0.611765>]
|
||||
[0.701961 rgb <0.737255, 0.674510, 0.643137>]
|
||||
[0.705882 rgb <0.737255, 0.674510, 0.674510>]
|
||||
[0.709804 rgb <0.737255, 0.737255, 0.674510>]
|
||||
[0.713726 rgb <0.768627, 0.580392, 0.501961>]
|
||||
[0.717647 rgb <0.768627, 0.611765, 0.501961>]
|
||||
[0.721569 rgb <0.768627, 0.611765, 0.533333>]
|
||||
[0.725490 rgb <0.768627, 0.611765, 0.580392>]
|
||||
[0.729412 rgb <0.768627, 0.611765, 0.611765>]
|
||||
[0.733333 rgb <0.768627, 0.643137, 0.533333>]
|
||||
[0.737255 rgb <0.768627, 0.643137, 0.580392>]
|
||||
[0.741176 rgb <0.768627, 0.643137, 0.611765>]
|
||||
[0.745098 rgb <0.768627, 0.643137, 0.643137>]
|
||||
[0.749020 rgb <0.768627, 0.674510, 0.580392>]
|
||||
[0.752941 rgb <0.768627, 0.674510, 0.611765>]
|
||||
[0.756863 rgb <0.768627, 0.674510, 0.643137>]
|
||||
[0.760784 rgb <0.768627, 0.674510, 0.674510>]
|
||||
[0.764706 rgb <0.768627, 0.705882, 0.611765>]
|
||||
[0.768627 rgb <0.768627, 0.705882, 0.643137>]
|
||||
[0.772549 rgb <0.768627, 0.705882, 0.674510>]
|
||||
[0.776471 rgb <0.768627, 0.705882, 0.705882>]
|
||||
[0.780392 rgb <0.768627, 0.768627, 0.705882>]
|
||||
[0.784314 rgb <0.800000, 0.611765, 0.533333>]
|
||||
[0.788235 rgb <0.800000, 0.643137, 0.533333>]
|
||||
[0.792157 rgb <0.800000, 0.643137, 0.580392>]
|
||||
[0.796078 rgb <0.800000, 0.643137, 0.611765>]
|
||||
[0.800000 rgb <0.800000, 0.643137, 0.643137>]
|
||||
[0.803922 rgb <0.800000, 0.674510, 0.580392>]
|
||||
[0.807843 rgb <0.800000, 0.674510, 0.611765>]
|
||||
[0.811765 rgb <0.800000, 0.674510, 0.643137>]
|
||||
[0.815686 rgb <0.800000, 0.674510, 0.674510>]
|
||||
[0.819608 rgb <0.800000, 0.705882, 0.611765>]
|
||||
[0.823529 rgb <0.800000, 0.705882, 0.643137>]
|
||||
[0.827451 rgb <0.800000, 0.705882, 0.674510>]
|
||||
[0.831373 rgb <0.800000, 0.705882, 0.705882>]
|
||||
[0.835294 rgb <0.800000, 0.737255, 0.643137>]
|
||||
[0.839216 rgb <0.800000, 0.737255, 0.674510>]
|
||||
[0.843137 rgb <0.800000, 0.737255, 0.705882>]
|
||||
[0.847059 rgb <0.800000, 0.737255, 0.737255>]
|
||||
[0.850980 rgb <0.831373, 0.643137, 0.580392>]
|
||||
[0.854902 rgb <0.831373, 0.674510, 0.580392>]
|
||||
[0.858824 rgb <0.831373, 0.674510, 0.611765>]
|
||||
[0.862745 rgb <0.831373, 0.674510, 0.643137>]
|
||||
[0.866667 rgb <0.831373, 0.705882, 0.611765>]
|
||||
[0.870588 rgb <0.831373, 0.705882, 0.643137>]
|
||||
[0.874510 rgb <0.831373, 0.705882, 0.674510>]
|
||||
[0.878431 rgb <0.831373, 0.705882, 0.705882>]
|
||||
[0.882353 rgb <0.831373, 0.737255, 0.611765>]
|
||||
[0.886275 rgb <0.831373, 0.737255, 0.674510>]
|
||||
[0.890196 rgb <0.831373, 0.737255, 0.705882>]
|
||||
[0.894118 rgb <0.831373, 0.737255, 0.737255>]
|
||||
[0.898039 rgb <0.831373, 0.768627, 0.674510>]
|
||||
[0.901961 rgb <0.831373, 0.768627, 0.705882>]
|
||||
[0.905882 rgb <0.831373, 0.768627, 0.737255>]
|
||||
[0.909804 rgb <0.831373, 0.800000, 0.737255>]
|
||||
[0.913725 rgb <0.862745, 0.674510, 0.611765>]
|
||||
[0.917647 rgb <0.862745, 0.705882, 0.611765>]
|
||||
[0.921569 rgb <0.862745, 0.705882, 0.643137>]
|
||||
[0.925490 rgb <0.862745, 0.737255, 0.643137>]
|
||||
[0.929412 rgb <0.862745, 0.737255, 0.674510>]
|
||||
[0.933333 rgb <0.862745, 0.737255, 0.705882>]
|
||||
[0.937255 rgb <0.862745, 0.768627, 0.674510>]
|
||||
[0.941176 rgb <0.862745, 0.768627, 0.705882>]
|
||||
[0.945098 rgb <0.862745, 0.768627, 0.737255>]
|
||||
[0.949020 rgb <0.862745, 0.800000, 0.737255>]
|
||||
[0.952941 rgb <0.862745, 0.831373, 0.768627>]
|
||||
[0.956863 rgb <0.894118, 0.705882, 0.643137>]
|
||||
[0.960784 rgb <0.894118, 0.737255, 0.674510>]
|
||||
[0.964706 rgb <0.894118, 0.768627, 0.674510>]
|
||||
[0.968627 rgb <0.894118, 0.768627, 0.705882>]
|
||||
[0.972549 rgb <0.894118, 0.768627, 0.737255>]
|
||||
[0.976471 rgb <0.894118, 0.800000, 0.705882>]
|
||||
[0.980392 rgb <0.894118, 0.800000, 0.737255>]
|
||||
[0.984314 rgb <0.894118, 0.800000, 0.768627>]
|
||||
[0.988235 rgb <0.925490, 0.768627, 0.705882>]
|
||||
[0.992157 rgb <0.925490, 0.800000, 0.737255>]
|
||||
[0.996078 rgb <0.925490, 0.831373, 0.768627>]
|
||||
}
|
||||
#version PinkMarb_Inc_Temp;
|
||||
BIN
distribution/include/plasma2.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
distribution/include/plasma3.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
distribution/include/povlogo.ttf
Normal file
BIN
distribution/include/povmap.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
241
distribution/include/rad_def.inc
Normal file
|
|
@ -0,0 +1,241 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: rad_def.inc
|
||||
// Last updated: 2010.5.24
|
||||
// Description: Set some common radiosity settings.
|
||||
|
||||
// These settings are extremely general and are intended for
|
||||
// ease of use, and don't necessarily give the best results.
|
||||
|
||||
// Modified 2001.7.26: Made Normal and Media parameters work
|
||||
// no matter what setting is used. (Chris Huff)
|
||||
|
||||
#ifndef(Rad_Def2_Inc_Temp)
|
||||
#declare Rad_Def2_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including rad_def.inc\n"
|
||||
#end
|
||||
|
||||
#declare Radiosity_Default = 0;
|
||||
#declare Radiosity_Debug = 1;
|
||||
#declare Radiosity_Fast = 2;
|
||||
#declare Radiosity_Normal = 3;
|
||||
#declare Radiosity_2Bounce = 4;
|
||||
#declare Radiosity_Final = 5;
|
||||
|
||||
#declare Radiosity_OutdoorLQ = 6;
|
||||
#declare Radiosity_OutdoorHQ = 7;
|
||||
#declare Radiosity_OutdoorLight = 8;
|
||||
#declare Radiosity_IndoorLQ = 9;
|
||||
#declare Radiosity_IndoorHQ = 10;
|
||||
|
||||
|
||||
// The correct format for using this file is:
|
||||
//
|
||||
// #include "rad_def.inc"
|
||||
// global_settings {
|
||||
// radiosity {
|
||||
// Rad_Settings(Radiosity_Default, off, off)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// for first parameter use one of the above constants
|
||||
//
|
||||
// second parameter for radiosity normal switch
|
||||
// (turn 'on' if normal should be taken into account when calculating radiosity)
|
||||
//
|
||||
// third parameter for radiosity media switch
|
||||
// (turn 'on' if media should be taken into account when calculating radiosity)
|
||||
//
|
||||
|
||||
|
||||
#macro Rad_Settings(Nbr, Normal, Media)
|
||||
|
||||
#switch(Nbr)
|
||||
|
||||
// An empty radiosity block using default settings
|
||||
#case (Radiosity_Default)
|
||||
#debug "\nRadiosity_Default in use\n"
|
||||
#break
|
||||
|
||||
// Run it fast, don't try to make it look good, make sure that
|
||||
// you can actually see where the radiosity boundaries are.
|
||||
#case (Radiosity_Debug)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.02
|
||||
count 10
|
||||
nearest_count 1
|
||||
error_bound 0.3
|
||||
recursion_limit 1
|
||||
low_error_factor 0.8
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.015
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_Debug in use\n"
|
||||
#break
|
||||
|
||||
// Make it look as good as you can, but I'm in a hurry
|
||||
#case (Radiosity_Fast)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.02
|
||||
count 80
|
||||
nearest_count 5
|
||||
error_bound 0.4
|
||||
recursion_limit 1
|
||||
low_error_factor 0.9
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.025
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_Fast in use\n"
|
||||
#break
|
||||
|
||||
// Typical values
|
||||
#case (Radiosity_Normal)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.01
|
||||
count 200
|
||||
nearest_count 7
|
||||
error_bound 0.3
|
||||
recursion_limit 1
|
||||
low_error_factor 0.75
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.017
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_Normal in use\n"
|
||||
#break
|
||||
|
||||
// Typical values, but with 2 bounces. Starts slow, but picks up steam!
|
||||
#case (Radiosity_2Bounce)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.01
|
||||
count 200
|
||||
nearest_count 7
|
||||
error_bound 0.3
|
||||
recursion_limit 2
|
||||
low_error_factor 0.75
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.017
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_2Bounce in use\n"
|
||||
#break
|
||||
|
||||
// For patient quality freaks with fast computers about to leave on vacation
|
||||
#case (Radiosity_Final)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.004
|
||||
count 800
|
||||
nearest_count 9
|
||||
error_bound 0.2
|
||||
recursion_limit 1
|
||||
low_error_factor 0.7
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.01
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_Final in use\n"
|
||||
#break
|
||||
|
||||
// For outdoor scenes without light sources
|
||||
// Low quality being reasonably fast in most scenes
|
||||
#case (Radiosity_OutdoorLQ)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.01
|
||||
count 80
|
||||
nearest_count 4
|
||||
error_bound 0.6
|
||||
recursion_limit 1 // increase this in scenes with complicated geometries when necessary
|
||||
low_error_factor 0.8
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.015
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_OutdoorLQ in use\n"
|
||||
#break
|
||||
|
||||
// For outdoor scenes without light sources
|
||||
// High quality - can be very slow
|
||||
#case (Radiosity_OutdoorHQ)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.004
|
||||
count 500
|
||||
nearest_count 7
|
||||
error_bound 0.1
|
||||
recursion_limit 1 // increase this in scenes with complicated geometries when necessary
|
||||
low_error_factor 0.5
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.015
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_OutdoorHQ in use\n"
|
||||
#break
|
||||
|
||||
// Settings for outdoor scenes with (Sun)light
|
||||
// for getting a general skylight effect
|
||||
#case (Radiosity_OutdoorLight)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.01
|
||||
count 50
|
||||
nearest_count 4
|
||||
error_bound 0.8
|
||||
recursion_limit 1
|
||||
low_error_factor 0.9
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.015
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_OutdoorLight in use\n"
|
||||
#break
|
||||
|
||||
// quite fast settings for indoor radiosity
|
||||
// good values much depend on actual situation
|
||||
// these settings can be taken as a basis
|
||||
#case (Radiosity_IndoorLQ)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.01
|
||||
count 80
|
||||
nearest_count 5
|
||||
error_bound 0.7
|
||||
recursion_limit 2
|
||||
low_error_factor 0.8
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.015
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_IndoorLQ in use\n"
|
||||
#break
|
||||
|
||||
// slower settings for indoor radiosity
|
||||
// good values much depend on actual situation
|
||||
// these settings can be taken as a basis
|
||||
#case (Radiosity_IndoorHQ)
|
||||
pretrace_start 0.08
|
||||
pretrace_end 0.004
|
||||
count 400
|
||||
nearest_count 8
|
||||
error_bound 0.15
|
||||
recursion_limit 3
|
||||
low_error_factor 0.5
|
||||
gray_threshold 0
|
||||
minimum_reuse 0.015
|
||||
brightness 1.0
|
||||
adc_bailout 0.01/2
|
||||
#debug "\nRadiosity_IndoorHQ in use\n"
|
||||
#break
|
||||
#end
|
||||
|
||||
normal Normal
|
||||
media Media
|
||||
#end
|
||||
|
||||
#version Rad_Def2_Inc_Temp;
|
||||
#end
|
||||
346
distribution/include/rand.inc
Normal file
|
|
@ -0,0 +1,346 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: rand.inc
|
||||
// Last updated: 2001.8.9
|
||||
// Description: some predefined random number generators, and
|
||||
// macros for working with random numbers.
|
||||
// Random number distribution macros contributed by Ingo Janssen.
|
||||
|
||||
#ifndef(RAND_INC_TEMP)
|
||||
#declare RAND_INC_TEMP = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including rand.inc\n"
|
||||
#end
|
||||
|
||||
#include "consts.inc"
|
||||
|
||||
//--------------------
|
||||
//Random number generators:
|
||||
//--------------------
|
||||
#declare RdmA = seed(574647);// Random stream A
|
||||
#declare RdmB = seed(324879);// Random stream B
|
||||
#declare RdmC = seed(296735);// Random stream C
|
||||
#declare RdmD = seed(978452);// Random stream D
|
||||
|
||||
//--------------------
|
||||
//Random number macros:
|
||||
//--------------------
|
||||
|
||||
//Probability, returns true or false.
|
||||
//P is probability of returning true, RS is a random number stream.
|
||||
#macro Prob(P, RS) (rand(RS) < P) #end
|
||||
|
||||
|
||||
/////////////////////////////////////////
|
||||
// Continuous Symmetric Distributions //
|
||||
////////////////////////////////////////
|
||||
#declare Gauss_Next = false;
|
||||
|
||||
// Cauchy distribution
|
||||
// Input: Mu=mean, Sigma= standard deviation and a random stream
|
||||
#macro Rand_Cauchy(Mu, Sigma, Stream)
|
||||
(Sigma*tan(pi*(rand(Stream)-0.5))+Mu)
|
||||
#end
|
||||
|
||||
// Student's-t distribution
|
||||
// Input: N= degrees of freedom and a random stream.
|
||||
#macro Rand_Student(N, Stream)
|
||||
(Rand_Gauss(0,1,Stream)/sqrt(Rand_Chi_Square(N,Stream)/N))
|
||||
#end
|
||||
|
||||
// Normal distribution
|
||||
// Input: Mu=mean, Sigma= standard deviation and a random stream
|
||||
// Output: a random value in the range of the normal distribution
|
||||
// defined by the standard deviation, around the mean.
|
||||
#macro Rand_Normal(Mu, Sigma, Stream)
|
||||
#local Cn=4*exp(-0.5)/sqrt(2);
|
||||
#local Loop=true;
|
||||
#while (Loop)
|
||||
#local R=rand(Stream);
|
||||
#local V=Cn*(rand(Stream)-0.5)/R;
|
||||
#local VV=V*V/4;
|
||||
#if (VV<=-ln(R))
|
||||
#local Loop=false;
|
||||
#end
|
||||
#end
|
||||
(Mu+(V*Sigma))
|
||||
#end
|
||||
|
||||
// Gaussian distribution
|
||||
// like Rand_Normal, but a bit faster
|
||||
#macro Rand_Gauss(Mu, Sigma, Stream)
|
||||
#local Zgauss=Gauss_Next;
|
||||
#declare Gauss_Next=false;
|
||||
#if (!Zgauss)
|
||||
#local R1=rand(Stream)*2*pi;
|
||||
#local R2=sqrt(-2*ln(1-rand(Stream)));
|
||||
#local Zgauss=cos(R1)*R2;
|
||||
#declare Gauss_Next=sin(R1)*R2;
|
||||
#end
|
||||
(Mu+(Zgauss*Sigma))
|
||||
#end
|
||||
|
||||
|
||||
/////////////////////////////////////
|
||||
// Continuous Skewed Distributions //
|
||||
/////////////////////////////////////
|
||||
|
||||
// Input: spline and a random stream.
|
||||
// Output: a random value in the range 0 - 1.
|
||||
// The probability of the value is controled
|
||||
// by the spline. The splines clock_value is
|
||||
// the output value and the .y value its chanche.
|
||||
#macro Rand_Spline(Spl, Stream)
|
||||
#local I=1;
|
||||
#while (I)
|
||||
#declare cVal=rand(Stream);
|
||||
#if (Spl(cVal).y>=rand(Stream))
|
||||
#local I=0;
|
||||
(cVal)
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
|
||||
// Gamma distribution
|
||||
// Input: Alpha= shape parameter >0, Beta= scale parameter >0 and a random stream.
|
||||
#macro Rand_Gamma(Alpha, Beta, Stream)
|
||||
#if(Alpha<=0 | Beta<=0)
|
||||
#error "Alpha and Beta should be bigger than 0"
|
||||
#end
|
||||
#local Ainv=sqrt(2*Alpha-1);
|
||||
#local BBB=Alpha-ln(4);
|
||||
#local CCC=Alpha+Ainv;
|
||||
#if (Alpha>1)
|
||||
#local Loop = true;
|
||||
#while (Loop)
|
||||
#local R1=rand(Stream);
|
||||
#local R2=rand(Stream);
|
||||
#local V=ln(R1/(1-R1))/Ainv;
|
||||
#local X=Alpha*exp(V);
|
||||
#local Z=R1*R1*R2;
|
||||
#local R=BBB+CCC*V-X;
|
||||
#local RZ=R+(1+ln(4.5))-4.5*Z;
|
||||
#if (RZ>=0 | R>=ln(Z))
|
||||
#local Loop=false;
|
||||
#local RETURN=X;
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#if (Alpha=1)
|
||||
#local R=rand(Stream);
|
||||
#while (R<=1e-7)
|
||||
#local R=rand(Stream);
|
||||
#end
|
||||
#local RETURN=-ln(R);
|
||||
#end
|
||||
#if (Alpha>0 & Alpha<1)
|
||||
#local Loop=true;
|
||||
#while (Loop)
|
||||
#local R=rand(Stream);
|
||||
#local B=(e+Alpha)/e;
|
||||
#local P=B*R;
|
||||
#if (P<=1)
|
||||
#local X=pow(P, (1/Alpha));
|
||||
#else
|
||||
#local X=-ln((B-P)/Alpha);
|
||||
#end
|
||||
#local R1=rand(Stream);
|
||||
#if(!( ((P<=1) & (R1>exp(-X))) | ((P>1) & (R1>pow(X,Alpha-1))) ))
|
||||
#local RETURN=X;
|
||||
#local Loop=false;
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#local Return=Beta*RETURN;
|
||||
Return
|
||||
#end
|
||||
|
||||
// Beta variate
|
||||
// Input: Alpha= shape Gamma1, Beta= shape Gamma2 and a random stream.
|
||||
#macro Rand_Beta(Alpha, Beta, Stream)
|
||||
#if(Alpha<=0 | Beta<=0)
|
||||
#error "Alpha and Beta should be bigger than 0"
|
||||
#end
|
||||
#local Gamma1=Rand_Gamma(Alpha,1,Stream);
|
||||
#if (Gamma1=0)
|
||||
#local Return=0;
|
||||
#else
|
||||
#local Return=(Gamma1/(Gamma1+Rand_Gamma(Beta,1,Stream)));
|
||||
#end
|
||||
(Return)
|
||||
#end
|
||||
|
||||
// Chi Square random variate
|
||||
// Input: N= degrees of freedom int() and a random stream
|
||||
#macro Rand_Chi_Square(N, Stream)
|
||||
(Rand_Gamma(2,0.5*int(N),Stream))
|
||||
#end
|
||||
|
||||
// F-Distribution
|
||||
// Input: N, M degrees of freedom and a random stream.
|
||||
#macro Rand_F_Dist(N, M, Stream)
|
||||
#local C1=Rand_Chi_Square(M,Stream);
|
||||
#local C2=Rand_Chi_Square(N,Stream);
|
||||
#local Return=(M*C1)/(N*C2);
|
||||
(Return)
|
||||
#end
|
||||
|
||||
//Triangular distribution
|
||||
//Input: Min, Max, Mode (Min < Mode < Max) and a random stream
|
||||
#macro Rand_Triangle(Min, Max, Mode, Stream)
|
||||
#local Right=Max-Mode;
|
||||
#local Left=Mode-Min;
|
||||
#local Range=Max-Min;
|
||||
#local R=rand(Stream);
|
||||
#if(R<=Left/Range)
|
||||
#local Return= Min+sqrt(Left*Range*R);
|
||||
#else
|
||||
#local Return= Max-sqrt(Right*Range*(1-R));
|
||||
#end
|
||||
(Return)
|
||||
#end
|
||||
|
||||
// Erlang variate
|
||||
// Input: Mu= mean >=0, K= number of exponential samples and a random stream.
|
||||
#macro Rand_Erlang(Mu, K, Stream)
|
||||
#local Prod=1;
|
||||
#local I=0;
|
||||
#while(I<K)
|
||||
#local Prod=Prod*rand(Stream);
|
||||
#local I=I+1;
|
||||
#end
|
||||
(-Mu*ln(Prod))
|
||||
#end
|
||||
|
||||
// Exponential distribution
|
||||
// Input: Lambda = rate = 1/mean
|
||||
#macro Rand_Exp(Lambda, Stream)
|
||||
(-ln(rand(Stream))/Lambda)
|
||||
#end
|
||||
|
||||
// Lognormal distribution
|
||||
// Input: Mu=mean, Sigma= standard deviation and a random stream
|
||||
#macro Rand_Lognormal(Mu, Sigma, Stream)
|
||||
(exp(Rand_Gauss(Mu,Sigma,Stream)))
|
||||
#end
|
||||
|
||||
// Pareto distribution
|
||||
#macro Rand_Pareto(Alpha, Stream)
|
||||
(1/pow(rand(Stream),(1/Alpha)))
|
||||
#end
|
||||
|
||||
// Weibull distribution
|
||||
#macro Rand_Weibull(Alpha, Beta, Stream)
|
||||
(Alpha*pow(-ln(rand(Stream)),(1/Beta)))
|
||||
#end
|
||||
|
||||
////////////////////////////////////
|
||||
// Discrete Distribution //
|
||||
////////////////////////////////////
|
||||
|
||||
// Bernoulli distribution
|
||||
// Input: P = probability range: 0 - 1. And a random stream.
|
||||
// Output: the BOOLEAN value TRUE with a probability equal
|
||||
// to the value of P and FALSE with a probability of 1 - P.
|
||||
#macro Rand_Bernoulli(P,Stream)
|
||||
(P>=rand(Stream)?true:false)
|
||||
#end
|
||||
|
||||
// Binomial distribution
|
||||
// Input: N= number of trials, P= probability [0-1] and a random stream.
|
||||
#macro Rand_Binomial(N, P, Stream)
|
||||
#local Count=0;
|
||||
#local N=int(N);
|
||||
#local I=0;
|
||||
#while (I<N)
|
||||
#if (rand(Stream)<=P)
|
||||
#local Count=Count+1;
|
||||
#end
|
||||
#local I=I+1;
|
||||
#end
|
||||
(Count)
|
||||
#end
|
||||
|
||||
//Geometric distribution
|
||||
//Input: P=probability [0-1] and a random stream.
|
||||
#macro Rand_Geo(P, Stream)
|
||||
(floor(ln(rand(Stream))/ln(1-P)))
|
||||
#end
|
||||
|
||||
// Poisson distribution
|
||||
// Input: Mu= mean and a random stream.
|
||||
#macro Rand_Poisson(Mu, Stream)
|
||||
#local Maxtimes = 100000; //just to be sure
|
||||
#local Cut=exp(-Mu);
|
||||
#local N=0;
|
||||
#local R=1;
|
||||
#while (R>Cut)
|
||||
#local R=R*rand(Stream);
|
||||
#local N=N+1;
|
||||
#if(N>Maxtimes)
|
||||
#local R=Cut;
|
||||
#end
|
||||
#end
|
||||
(N)
|
||||
#end
|
||||
|
||||
|
||||
|
||||
//signed random number, range [-1, 1]
|
||||
#macro SRand(RS) (rand(RS)*2 - 1) #end
|
||||
|
||||
//random number in specified range [Min, Max]
|
||||
#macro RRand(Min, Max, RS) (rand(RS)*(Max-Min) + Min) #end
|
||||
|
||||
//a random point in a box from < 0, 0, 0> to < 1, 1, 1>
|
||||
#macro VRand(RS) < rand(RS), rand(RS), rand(RS)> #end
|
||||
|
||||
//a random point in a box from Mn to Mx
|
||||
#macro VRand_In_Box(Mn, Mx, RS) (< rand(RS), rand(RS), rand(RS)>*(Mx-Mn) + Mn) #end
|
||||
|
||||
//a random point in a unit-radius sphere centered on the origin
|
||||
//Thanks to Ingo for this macro, which is faster than the original VRand3()
|
||||
#macro VRand_In_Sphere(Stream)
|
||||
#local R = pow(rand(Stream),1/3);
|
||||
#local Theta = 2*pi*rand(Stream);
|
||||
#local Phi = acos(2*rand(Stream)-1);
|
||||
(R*<cos(Theta)*sin(Phi),
|
||||
sin(Theta)*sin(Phi),
|
||||
cos(Phi)>)
|
||||
#end
|
||||
|
||||
//a random point on a unit-radius sphere centered on the origin
|
||||
//Author: Ingo
|
||||
#macro VRand_On_Sphere(Stream)
|
||||
#local Theta = 2*pi*rand(Stream);
|
||||
#local Phi = acos(2*rand(Stream)-1);
|
||||
(<cos(Theta)*sin(Phi),
|
||||
sin(Theta)*sin(Phi),
|
||||
cos(Phi)>)
|
||||
#end
|
||||
|
||||
//a random point inside an arbitrary object
|
||||
//Warning: can be quite slow if the object occupies a small
|
||||
//portion of the volume of it's bounding box!
|
||||
//Also, will not work on objects without a definite "inside".
|
||||
#macro VRand_In_Obj(Obj, RS)
|
||||
#local Mn = min_extent(Obj);
|
||||
#local Mx = max_extent(Obj);
|
||||
#local Pt = VRand_In_Box(Mn, Mx, RS);
|
||||
#local J = 0;
|
||||
#while(inside(Obj, Pt) = 0 & J < 1000)
|
||||
#local Pt = VRand_In_Box(Mn, Mx, RS);
|
||||
#local J = J + 1;
|
||||
#end
|
||||
(Pt)
|
||||
#end
|
||||
|
||||
|
||||
#version RAND_INC_TEMP;
|
||||
#end//rand.inc
|
||||
|
||||
266
distribution/include/rdgranit.map
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
#declare RedGranite_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Red Granite color_map
|
||||
*/
|
||||
|
||||
#declare M_RedGranite =
|
||||
color_map {
|
||||
[0.000000 rgb <0.439216, 0.407843, 0.454902>]
|
||||
[0.003922 rgb <0.454902, 0.439216, 0.470588>]
|
||||
[0.007843 rgb <0.470588, 0.360784, 0.376471>]
|
||||
[0.011765 rgb <0.470588, 0.454902, 0.486275>]
|
||||
[0.015686 rgb <0.486275, 0.376471, 0.360784>]
|
||||
[0.019608 rgb <0.486275, 0.376471, 0.407843>]
|
||||
[0.023529 rgb <0.486275, 0.423529, 0.439216>]
|
||||
[0.027451 rgb <0.486275, 0.470588, 0.486275>]
|
||||
[0.031373 rgb <0.501961, 0.345098, 0.360784>]
|
||||
[0.035294 rgb <0.501961, 0.407843, 0.439216>]
|
||||
[0.039216 rgb <0.501961, 0.423529, 0.407843>]
|
||||
[0.043137 rgb <0.501961, 0.439216, 0.470588>]
|
||||
[0.047059 rgb <0.501961, 0.470588, 0.501961>]
|
||||
[0.050980 rgb <0.517647, 0.360784, 0.407843>]
|
||||
[0.054902 rgb <0.517647, 0.376471, 0.376471>]
|
||||
[0.058824 rgb <0.517647, 0.407843, 0.423529>]
|
||||
[0.062745 rgb <0.517647, 0.454902, 0.454902>]
|
||||
[0.066667 rgb <0.517647, 0.486275, 0.501961>]
|
||||
[0.070588 rgb <0.517647, 0.501961, 0.533333>]
|
||||
[0.074510 rgb <0.517647, 0.533333, 0.533333>]
|
||||
[0.078431 rgb <0.533333, 0.360784, 0.360784>]
|
||||
[0.082353 rgb <0.533333, 0.392157, 0.392157>]
|
||||
[0.086275 rgb <0.533333, 0.407843, 0.392157>]
|
||||
[0.090196 rgb <0.533333, 0.423529, 0.454902>]
|
||||
[0.094118 rgb <0.533333, 0.454902, 0.486275>]
|
||||
[0.098039 rgb <0.533333, 0.517647, 0.549020>]
|
||||
[0.101961 rgb <0.533333, 0.533333, 0.596078>]
|
||||
[0.105882 rgb <0.549020, 0.345098, 0.298039>]
|
||||
[0.109804 rgb <0.549020, 0.376471, 0.392157>]
|
||||
[0.113725 rgb <0.549020, 0.407843, 0.439216>]
|
||||
[0.117647 rgb <0.549020, 0.423529, 0.423529>]
|
||||
[0.121569 rgb <0.549020, 0.454902, 0.454902>]
|
||||
[0.125490 rgb <0.549020, 0.470588, 0.470588>]
|
||||
[0.129412 rgb <0.549020, 0.470588, 0.501961>]
|
||||
[0.133333 rgb <0.549020, 0.501961, 0.517647>]
|
||||
[0.137255 rgb <0.549020, 0.533333, 0.549020>]
|
||||
[0.141176 rgb <0.549020, 0.549020, 0.580392>]
|
||||
[0.145098 rgb <0.564706, 0.376471, 0.360784>]
|
||||
[0.149020 rgb <0.564706, 0.392157, 0.376471>]
|
||||
[0.152941 rgb <0.564706, 0.392157, 0.407843>]
|
||||
[0.156863 rgb <0.564706, 0.439216, 0.470588>]
|
||||
[0.160784 rgb <0.564706, 0.470588, 0.486275>]
|
||||
[0.164706 rgb <0.564706, 0.501961, 0.533333>]
|
||||
[0.168627 rgb <0.564706, 0.533333, 0.580392>]
|
||||
[0.172549 rgb <0.564706, 0.564706, 0.611765>]
|
||||
[0.176471 rgb <0.564706, 0.580392, 0.596078>]
|
||||
[0.180392 rgb <0.580392, 0.345098, 0.313726>]
|
||||
[0.184314 rgb <0.580392, 0.360784, 0.376471>]
|
||||
[0.188235 rgb <0.580392, 0.376471, 0.345098>]
|
||||
[0.192157 rgb <0.580392, 0.407843, 0.407843>]
|
||||
[0.196078 rgb <0.580392, 0.423529, 0.454902>]
|
||||
[0.200000 rgb <0.580392, 0.454902, 0.439216>]
|
||||
[0.203922 rgb <0.580392, 0.454902, 0.486275>]
|
||||
[0.207843 rgb <0.580392, 0.486275, 0.486275>]
|
||||
[0.211765 rgb <0.580392, 0.517647, 0.533333>]
|
||||
[0.215686 rgb <0.580392, 0.564706, 0.564706>]
|
||||
[0.219608 rgb <0.580392, 0.580392, 0.627451>]
|
||||
[0.223529 rgb <0.580392, 0.580392, 0.674510>]
|
||||
[0.227451 rgb <0.580392, 0.596078, 0.627451>]
|
||||
[0.231373 rgb <0.596078, 0.392157, 0.376471>]
|
||||
[0.235294 rgb <0.596078, 0.407843, 0.376471>]
|
||||
[0.239216 rgb <0.596078, 0.407843, 0.423529>]
|
||||
[0.243137 rgb <0.596078, 0.423529, 0.454902>]
|
||||
[0.247059 rgb <0.596078, 0.439216, 0.423529>]
|
||||
[0.250980 rgb <0.596078, 0.470588, 0.470588>]
|
||||
[0.254902 rgb <0.596078, 0.486275, 0.470588>]
|
||||
[0.258824 rgb <0.596078, 0.486275, 0.517647>]
|
||||
[0.262745 rgb <0.596078, 0.517647, 0.549020>]
|
||||
[0.266667 rgb <0.596078, 0.549020, 0.596078>]
|
||||
[0.270588 rgb <0.596078, 0.580392, 0.596078>]
|
||||
[0.274510 rgb <0.596078, 0.596078, 0.643137>]
|
||||
[0.278431 rgb <0.611765, 0.360784, 0.313726>]
|
||||
[0.282353 rgb <0.611765, 0.392157, 0.360784>]
|
||||
[0.286275 rgb <0.611765, 0.423529, 0.392157>]
|
||||
[0.290196 rgb <0.611765, 0.454902, 0.454902>]
|
||||
[0.294118 rgb <0.611765, 0.470588, 0.501961>]
|
||||
[0.298039 rgb <0.611765, 0.501961, 0.533333>]
|
||||
[0.301961 rgb <0.611765, 0.517647, 0.501961>]
|
||||
[0.305882 rgb <0.611765, 0.533333, 0.549020>]
|
||||
[0.309804 rgb <0.611765, 0.564706, 0.580392>]
|
||||
[0.313726 rgb <0.611765, 0.564706, 0.627451>]
|
||||
[0.317647 rgb <0.611765, 0.611765, 0.627451>]
|
||||
[0.321569 rgb <0.611765, 0.611765, 0.705882>]
|
||||
[0.325490 rgb <0.611765, 0.643137, 0.643137>]
|
||||
[0.329412 rgb <0.611765, 0.658824, 0.737255>]
|
||||
[0.333333 rgb <0.627451, 0.360784, 0.345098>]
|
||||
[0.337255 rgb <0.627451, 0.376471, 0.392157>]
|
||||
[0.341176 rgb <0.627451, 0.407843, 0.392157>]
|
||||
[0.345098 rgb <0.627451, 0.439216, 0.423529>]
|
||||
[0.349020 rgb <0.627451, 0.439216, 0.454902>]
|
||||
[0.352941 rgb <0.627451, 0.454902, 0.470588>]
|
||||
[0.356863 rgb <0.627451, 0.470588, 0.439216>]
|
||||
[0.360784 rgb <0.627451, 0.486275, 0.486275>]
|
||||
[0.364706 rgb <0.627451, 0.533333, 0.564706>]
|
||||
[0.368627 rgb <0.627451, 0.549020, 0.533333>]
|
||||
[0.372549 rgb <0.627451, 0.564706, 0.564706>]
|
||||
[0.376471 rgb <0.627451, 0.580392, 0.611765>]
|
||||
[0.380392 rgb <0.627451, 0.596078, 0.643137>]
|
||||
[0.384314 rgb <0.627451, 0.611765, 0.611765>]
|
||||
[0.388235 rgb <0.627451, 0.627451, 0.674510>]
|
||||
[0.392157 rgb <0.627451, 0.643137, 0.674510>]
|
||||
[0.396078 rgb <0.643137, 0.345098, 0.313726>]
|
||||
[0.400000 rgb <0.643137, 0.392157, 0.345098>]
|
||||
[0.403922 rgb <0.643137, 0.407843, 0.439216>]
|
||||
[0.407843 rgb <0.643137, 0.423529, 0.376471>]
|
||||
[0.411765 rgb <0.643137, 0.454902, 0.407843>]
|
||||
[0.415686 rgb <0.643137, 0.470588, 0.470588>]
|
||||
[0.419608 rgb <0.643137, 0.470588, 0.501961>]
|
||||
[0.423529 rgb <0.643137, 0.501961, 0.470588>]
|
||||
[0.427451 rgb <0.643137, 0.501961, 0.501961>]
|
||||
[0.431373 rgb <0.643137, 0.517647, 0.486275>]
|
||||
[0.435294 rgb <0.643137, 0.533333, 0.517647>]
|
||||
[0.439216 rgb <0.643137, 0.549020, 0.549020>]
|
||||
[0.443137 rgb <0.643137, 0.549020, 0.596078>]
|
||||
[0.447059 rgb <0.643137, 0.580392, 0.596078>]
|
||||
[0.450980 rgb <0.643137, 0.627451, 0.643137>]
|
||||
[0.454902 rgb <0.643137, 0.643137, 0.690196>]
|
||||
[0.458824 rgb <0.658824, 0.423529, 0.423529>]
|
||||
[0.462745 rgb <0.658824, 0.454902, 0.439216>]
|
||||
[0.466667 rgb <0.658824, 0.517647, 0.549020>]
|
||||
[0.470588 rgb <0.658824, 0.517647, 0.580392>]
|
||||
[0.474510 rgb <0.658824, 0.549020, 0.533333>]
|
||||
[0.478431 rgb <0.658824, 0.549020, 0.564706>]
|
||||
[0.482353 rgb <0.658824, 0.580392, 0.611765>]
|
||||
[0.486275 rgb <0.658824, 0.611765, 0.611765>]
|
||||
[0.490196 rgb <0.658824, 0.611765, 0.658824>]
|
||||
[0.494118 rgb <0.658824, 0.658824, 0.658824>]
|
||||
[0.498039 rgb <0.658824, 0.674510, 0.705882>]
|
||||
[0.501961 rgb <0.674510, 0.392157, 0.407843>]
|
||||
[0.505882 rgb <0.674510, 0.407843, 0.360784>]
|
||||
[0.509804 rgb <0.674510, 0.454902, 0.392157>]
|
||||
[0.513726 rgb <0.674510, 0.470588, 0.439216>]
|
||||
[0.517647 rgb <0.674510, 0.470588, 0.486275>]
|
||||
[0.521569 rgb <0.674510, 0.501961, 0.517647>]
|
||||
[0.525490 rgb <0.674510, 0.517647, 0.486275>]
|
||||
[0.529412 rgb <0.674510, 0.580392, 0.564706>]
|
||||
[0.533333 rgb <0.674510, 0.627451, 0.674510>]
|
||||
[0.537255 rgb <0.674510, 0.674510, 0.690196>]
|
||||
[0.541176 rgb <0.674510, 0.690196, 0.737255>]
|
||||
[0.545098 rgb <0.690196, 0.533333, 0.533333>]
|
||||
[0.549020 rgb <0.690196, 0.549020, 0.564706>]
|
||||
[0.552941 rgb <0.690196, 0.564706, 0.596078>]
|
||||
[0.556863 rgb <0.690196, 0.596078, 0.596078>]
|
||||
[0.560784 rgb <0.690196, 0.596078, 0.627451>]
|
||||
[0.564706 rgb <0.690196, 0.627451, 0.627451>]
|
||||
[0.568627 rgb <0.690196, 0.658824, 0.705882>]
|
||||
[0.572549 rgb <0.690196, 0.690196, 0.643137>]
|
||||
[0.576471 rgb <0.690196, 0.705882, 0.752941>]
|
||||
[0.580392 rgb <0.705882, 0.454902, 0.439216>]
|
||||
[0.584314 rgb <0.705882, 0.486275, 0.470588>]
|
||||
[0.588235 rgb <0.705882, 0.517647, 0.486275>]
|
||||
[0.592157 rgb <0.705882, 0.564706, 0.533333>]
|
||||
[0.596078 rgb <0.705882, 0.627451, 0.658824>]
|
||||
[0.600000 rgb <0.705882, 0.658824, 0.658824>]
|
||||
[0.603922 rgb <0.705882, 0.674510, 0.721569>]
|
||||
[0.607843 rgb <0.721569, 0.486275, 0.439216>]
|
||||
[0.611765 rgb <0.721569, 0.517647, 0.533333>]
|
||||
[0.615686 rgb <0.721569, 0.533333, 0.517647>]
|
||||
[0.619608 rgb <0.721569, 0.580392, 0.580392>]
|
||||
[0.623529 rgb <0.721569, 0.596078, 0.611765>]
|
||||
[0.627451 rgb <0.721569, 0.611765, 0.580392>]
|
||||
[0.631373 rgb <0.721569, 0.643137, 0.611765>]
|
||||
[0.635294 rgb <0.721569, 0.643137, 0.674510>]
|
||||
[0.639216 rgb <0.721569, 0.674510, 0.643137>]
|
||||
[0.643137 rgb <0.721569, 0.705882, 0.737255>]
|
||||
[0.647059 rgb <0.721569, 0.737255, 0.768627>]
|
||||
[0.650980 rgb <0.737255, 0.517647, 0.470588>]
|
||||
[0.654902 rgb <0.737255, 0.533333, 0.501961>]
|
||||
[0.658824 rgb <0.737255, 0.564706, 0.549020>]
|
||||
[0.662745 rgb <0.737255, 0.643137, 0.643137>]
|
||||
[0.666667 rgb <0.737255, 0.658824, 0.705882>]
|
||||
[0.670588 rgb <0.737255, 0.690196, 0.674510>]
|
||||
[0.674510 rgb <0.737255, 0.721569, 0.721569>]
|
||||
[0.678431 rgb <0.737255, 0.752941, 0.800000>]
|
||||
[0.682353 rgb <0.752941, 0.564706, 0.580392>]
|
||||
[0.686275 rgb <0.752941, 0.596078, 0.564706>]
|
||||
[0.690196 rgb <0.752941, 0.611765, 0.611765>]
|
||||
[0.694118 rgb <0.752941, 0.643137, 0.674510>]
|
||||
[0.698039 rgb <0.752941, 0.690196, 0.737255>]
|
||||
[0.701961 rgb <0.752941, 0.721569, 0.752941>]
|
||||
[0.705882 rgb <0.752941, 0.737255, 0.737255>]
|
||||
[0.709804 rgb <0.752941, 0.768627, 0.831373>]
|
||||
[0.713726 rgb <0.768627, 0.549020, 0.533333>]
|
||||
[0.717647 rgb <0.768627, 0.596078, 0.611765>]
|
||||
[0.721569 rgb <0.768627, 0.627451, 0.643137>]
|
||||
[0.725490 rgb <0.768627, 0.674510, 0.690196>]
|
||||
[0.729412 rgb <0.768627, 0.721569, 0.705882>]
|
||||
[0.733333 rgb <0.768627, 0.737255, 0.784314>]
|
||||
[0.737255 rgb <0.768627, 0.800000, 0.847059>]
|
||||
[0.741176 rgb <0.784314, 0.564706, 0.549020>]
|
||||
[0.745098 rgb <0.784314, 0.580392, 0.533333>]
|
||||
[0.749020 rgb <0.784314, 0.611765, 0.580392>]
|
||||
[0.752941 rgb <0.784314, 0.643137, 0.611765>]
|
||||
[0.756863 rgb <0.784314, 0.674510, 0.658824>]
|
||||
[0.760784 rgb <0.784314, 0.705882, 0.690196>]
|
||||
[0.764706 rgb <0.784314, 0.705882, 0.737255>]
|
||||
[0.768627 rgb <0.784314, 0.752941, 0.768627>]
|
||||
[0.772549 rgb <0.784314, 0.768627, 0.800000>]
|
||||
[0.776471 rgb <0.800000, 0.658824, 0.674510>]
|
||||
[0.780392 rgb <0.800000, 0.690196, 0.721569>]
|
||||
[0.784314 rgb <0.800000, 0.721569, 0.721569>]
|
||||
[0.788235 rgb <0.800000, 0.721569, 0.768627>]
|
||||
[0.792157 rgb <0.800000, 0.768627, 0.784314>]
|
||||
[0.796078 rgb <0.800000, 0.784314, 0.831373>]
|
||||
[0.800000 rgb <0.815686, 0.596078, 0.564706>]
|
||||
[0.803922 rgb <0.815686, 0.611765, 0.596078>]
|
||||
[0.807843 rgb <0.815686, 0.643137, 0.643137>]
|
||||
[0.811765 rgb <0.815686, 0.690196, 0.674510>]
|
||||
[0.815686 rgb <0.815686, 0.737255, 0.705882>]
|
||||
[0.819608 rgb <0.815686, 0.752941, 0.800000>]
|
||||
[0.823529 rgb <0.815686, 0.800000, 0.847059>]
|
||||
[0.827451 rgb <0.831373, 0.643137, 0.627451>]
|
||||
[0.831373 rgb <0.831373, 0.674510, 0.690196>]
|
||||
[0.835294 rgb <0.831373, 0.690196, 0.737255>]
|
||||
[0.839216 rgb <0.831373, 0.705882, 0.690196>]
|
||||
[0.843137 rgb <0.831373, 0.705882, 0.721569>]
|
||||
[0.847059 rgb <0.831373, 0.737255, 0.752941>]
|
||||
[0.850980 rgb <0.831373, 0.768627, 0.768627>]
|
||||
[0.854902 rgb <0.831373, 0.768627, 0.815686>]
|
||||
[0.858824 rgb <0.831373, 0.847059, 0.878431>]
|
||||
[0.862745 rgb <0.847059, 0.674510, 0.658824>]
|
||||
[0.866667 rgb <0.847059, 0.737255, 0.737255>]
|
||||
[0.870588 rgb <0.847059, 0.784314, 0.847059>]
|
||||
[0.874510 rgb <0.847059, 0.800000, 0.815686>]
|
||||
[0.878431 rgb <0.847059, 0.815686, 0.847059>]
|
||||
[0.882353 rgb <0.847059, 0.831373, 0.878431>]
|
||||
[0.886275 rgb <0.847059, 0.862745, 0.909804>]
|
||||
[0.890196 rgb <0.862745, 0.690196, 0.690196>]
|
||||
[0.894118 rgb <0.862745, 0.721569, 0.737255>]
|
||||
[0.898039 rgb <0.862745, 0.737255, 0.705882>]
|
||||
[0.901961 rgb <0.862745, 0.784314, 0.737255>]
|
||||
[0.905882 rgb <0.862745, 0.831373, 0.800000>]
|
||||
[0.909804 rgb <0.878431, 0.705882, 0.690196>]
|
||||
[0.913725 rgb <0.878431, 0.752941, 0.768627>]
|
||||
[0.917647 rgb <0.878431, 0.784314, 0.784314>]
|
||||
[0.921569 rgb <0.878431, 0.815686, 0.831373>]
|
||||
[0.925490 rgb <0.878431, 0.831373, 0.862745>]
|
||||
[0.929412 rgb <0.878431, 0.847059, 0.894118>]
|
||||
[0.933333 rgb <0.878431, 0.878431, 0.941176>]
|
||||
[0.937255 rgb <0.894118, 0.752941, 0.721569>]
|
||||
[0.941176 rgb <0.894118, 0.831373, 0.800000>]
|
||||
[0.945098 rgb <0.894118, 0.862745, 0.878431>]
|
||||
[0.949020 rgb <0.894118, 0.862745, 0.909804>]
|
||||
[0.952941 rgb <0.894118, 0.909804, 0.956863>]
|
||||
[0.956863 rgb <0.909804, 0.705882, 0.721569>]
|
||||
[0.960784 rgb <0.909804, 0.768627, 0.752941>]
|
||||
[0.964706 rgb <0.909804, 0.800000, 0.800000>]
|
||||
[0.968627 rgb <0.909804, 0.831373, 0.831373>]
|
||||
[0.972549 rgb <0.909804, 0.941176, 0.972549>]
|
||||
[0.976471 rgb <0.925490, 0.784314, 0.784314>]
|
||||
[0.980392 rgb <0.925490, 0.878431, 0.909804>]
|
||||
[0.984314 rgb <0.925490, 0.894118, 0.941176>]
|
||||
[0.988235 rgb <0.941176, 0.925490, 0.972549>]
|
||||
[0.992157 rgb <0.941176, 0.956863, 0.988235>]
|
||||
[0.996078 rgb <0.956863, 0.862745, 0.831373>]
|
||||
}
|
||||
#version RedGranite_Inc_Temp;
|
||||
153
distribution/include/screen.inc
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Raytracer Version 3.5
|
||||
// Screen Include File
|
||||
|
||||
// Created by Christoph Hormann, Chris Huff and Rune S. Johansen.
|
||||
|
||||
// Screen.inc will enable you to place objects and textures right in front
|
||||
// of the camera. One use of this is to place your signature or a logo in
|
||||
// the corner of the image.
|
||||
|
||||
// You can only use screen.inc with the perspective camera. Screen.inc
|
||||
// will automatically create the camera definition for you when it is
|
||||
// included.
|
||||
|
||||
// Note that even though objects aligned using screen.inc follow the
|
||||
// camera, they are still part of the scene. That means that they will be
|
||||
// affected by perspective, lighting, the surroundings etc.
|
||||
|
||||
// For instructions of use, look in the POV-Ray manual, and for an example
|
||||
// of use, see screen.pov.
|
||||
|
||||
|
||||
#ifndef(Screen_Inc_Temp)
|
||||
#declare Screen_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including screen.inc\n"
|
||||
#end
|
||||
|
||||
#macro Update_Camera()
|
||||
|
||||
#ifndef (Camera_Aspect_Ratio)
|
||||
#declare Camera_Aspect_Ratio = image_width/image_height;
|
||||
#end
|
||||
#ifndef (Camera_Location) #declare Camera_Location = <0,0,0>; #end
|
||||
#ifndef (Camera_Look_At) #declare Camera_Look_At = z; #end
|
||||
#ifndef (Camera_Sky) #declare Camera_Sky = y; #end
|
||||
#ifndef (Camera_Zoom) #declare Camera_Zoom = 1; #end
|
||||
|
||||
|
||||
#declare CamL=Camera_Location; // wherever you're putting it
|
||||
#declare CamD=vnormalize(Camera_Look_At-CamL); // direction of camera view
|
||||
#declare CamR=vnormalize(vcross(Camera_Sky,CamD)); // to the right
|
||||
#declare CamU=vnormalize(vcross(CamD,CamR)); // camera up
|
||||
#declare Camera_Transform =
|
||||
transform {
|
||||
matrix <
|
||||
CamR.x, CamR.y, CamR.z,
|
||||
CamU.x, CamU.y, CamU.z,
|
||||
CamD.x, CamD.y, CamD.z,
|
||||
CamL.x, CamL.y, CamL.z
|
||||
>
|
||||
}
|
||||
|
||||
camera {
|
||||
direction CamD*Camera_Zoom
|
||||
right CamR*Camera_Aspect_Ratio
|
||||
up CamU
|
||||
sky Camera_Sky
|
||||
location CamL
|
||||
}
|
||||
|
||||
#end
|
||||
|
||||
Update_Camera()
|
||||
|
||||
#macro Set_Camera_Location(Loc)
|
||||
#declare Camera_Location = Loc;
|
||||
Update_Camera()
|
||||
#end
|
||||
#macro Set_Camera_Look_At(LookAt)
|
||||
#declare Camera_Look_At = LookAt;
|
||||
Update_Camera()
|
||||
#end
|
||||
#macro Set_Camera_Aspect_Ratio(Aspect)
|
||||
#declare Camera_Aspect_Ratio = Aspect;
|
||||
Update_Camera()
|
||||
#end
|
||||
#macro Set_Camera_Aspect(Width,Height)
|
||||
#declare Camera_Aspect_Ratio = Width/Height;
|
||||
Update_Camera()
|
||||
#end
|
||||
#macro Set_Camera_Sky(Sky)
|
||||
#declare Camera_Sky = Sky;
|
||||
Update_Camera()
|
||||
#end
|
||||
#macro Set_Camera_Zoom(Zoom)
|
||||
#declare Camera_Zoom = Zoom;
|
||||
Update_Camera()
|
||||
#end
|
||||
#macro Set_Camera_Angle(Angle)
|
||||
#declare Camera_Zoom = 0.5/tan(radians(Angle/2))*Camera_Aspect_Ratio;
|
||||
Update_Camera()
|
||||
#end
|
||||
#macro Set_Camera(Location, LookAt, Angle)
|
||||
#declare Camera_Location = Location;
|
||||
#declare Camera_Look_At = LookAt;
|
||||
Set_Camera_Angle(Angle)
|
||||
Update_Camera()
|
||||
#end
|
||||
#macro Reset_Camera()
|
||||
#undef Camera_Location
|
||||
#undef Camera_Aspect_Ratio
|
||||
#undef Camera_Location
|
||||
#undef Camera_Look_At
|
||||
#undef Camera_Sky
|
||||
#undef Camera_Zoom
|
||||
Update_Camera()
|
||||
#end
|
||||
|
||||
#macro Screen_Object (Object, Position, Spacing, Confine, Scaling)
|
||||
#local Obj_Max = max_extent(Object);
|
||||
#local Obj_Min = min_extent(Object);
|
||||
#local Obj_Cen = (Obj_Max+Obj_Min)/2;
|
||||
#local Obj_Dim = (Obj_Max-Obj_Min)/2;
|
||||
#local Pos = (Position-0.5)*2;
|
||||
#local Pos = (
|
||||
+<Pos.x*Camera_Aspect_Ratio/2,Pos.y/2,Camera_Zoom>
|
||||
+( -Obj_Cen -Pos*(Obj_Dim+Spacing) ) * Confine
|
||||
);
|
||||
object {
|
||||
Object
|
||||
no_shadow // shouldn't cast shadows in the scene
|
||||
no_reflection // shouldn't be reflected in scene elements
|
||||
no_radiosity // also make the object invisible to radiosity rays
|
||||
translate Pos
|
||||
scale Scaling
|
||||
transform {Camera_Transform}
|
||||
}
|
||||
#end
|
||||
|
||||
#macro Screen_Plane (Texture, Scaling, BLCorner, TRCorner)
|
||||
box {
|
||||
<-0.000001,-0.000001,0>, <+1.000001,+1.000001,0>
|
||||
texture {Texture}
|
||||
scale TRCorner*<1,1,0>-BLCorner*<1,1,0>+z
|
||||
translate BLCorner*<1,1,0>+<-0.5,-0.5,0>
|
||||
scale <Camera_Aspect_Ratio,1,1>
|
||||
no_shadow // shouldn't cast shadows in the scene
|
||||
no_reflection // shouldn't be reflected in scene elements
|
||||
hollow on // for media/fog
|
||||
translate Camera_Zoom*z
|
||||
scale Scaling
|
||||
transform {Camera_Transform}
|
||||
}
|
||||
#end
|
||||
|
||||
#version Screen_Inc_Temp;
|
||||
#end
|
||||
1041
distribution/include/shapes.inc
Normal file
190
distribution/include/shapes2.inc
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
#ifndef(Shapes2_Inc_Temp)
|
||||
#declare Shapes2_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
# debug "including shapes2.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Implements additional, useful, but seldom used shapes
|
||||
|
||||
Contents:
|
||||
=========
|
||||
Tetrahedron HalfCone_Y
|
||||
Octahedron Pyramid
|
||||
Dodecahedron Pyramid2
|
||||
Icosahedron Square_X
|
||||
Rhomboid Square_Y
|
||||
Hexagon Square_Z
|
||||
*/
|
||||
|
||||
|
||||
// Shapes by Tom Price [75300,620]:
|
||||
#declare Tetrahedron =
|
||||
intersection
|
||||
{plane {-y,1}
|
||||
plane {-z,1 rotate <19.47, 0, 0>}
|
||||
plane {-z,1 rotate <19.47, -120, 0>}
|
||||
plane {-z,1 rotate <19.47, 120, 0>}
|
||||
|
||||
bounded_by {sphere {0, 3}}
|
||||
}
|
||||
|
||||
#declare Octahedron =
|
||||
intersection
|
||||
{plane { z, 1 rotate < 35.26438968275, 0, 0>}
|
||||
plane { z, 1 rotate <-35.26438968275, 0, 0>}
|
||||
plane {-z, 1 rotate < 35.26438968275, 0, 0>}
|
||||
plane {-z, 1 rotate <-35.26438968275, 0, 0>}
|
||||
|
||||
plane { x, 1 rotate <0, 0, -35.26438968275>}
|
||||
plane { x, 1 rotate <0, 0, 35.26438968275>}
|
||||
plane {-x, 1 rotate <0, 0, -35.26438968275>}
|
||||
plane {-x, 1 rotate <0, 0, 35.26438968275>}
|
||||
|
||||
bounded_by {sphere {0, 1.7321}}
|
||||
}
|
||||
|
||||
#declare Dodecahedron =
|
||||
intersection
|
||||
{plane {-z, 1 rotate <-26.56505117708, 0, 0>}
|
||||
plane {-z, 1 rotate <-26.56505117708, -72, 0>}
|
||||
plane {-z, 1 rotate <-26.56505117708, -144, 0>}
|
||||
plane {-z, 1 rotate <-26.56505117708, -216, 0>}
|
||||
plane {-z, 1 rotate <-26.56505117708, -288, 0>}
|
||||
|
||||
plane {-z, 1 rotate <26.56505117708, -36, 0>}
|
||||
plane {-z, 1 rotate <26.56505117708, -108, 0>}
|
||||
plane {-z, 1 rotate <26.56505117708, -180, 0>}
|
||||
plane {-z, 1 rotate <26.56505117708, -252, 0>}
|
||||
plane {-z, 1 rotate <26.56505117708, -324, 0>}
|
||||
|
||||
plane { y, 1}
|
||||
plane {-y, 1}
|
||||
|
||||
bounded_by {sphere {0, 1.2585}}
|
||||
}
|
||||
|
||||
#declare Icosahedron =
|
||||
intersection
|
||||
{plane {-z, 1 rotate <52.6625, 0, 0>}
|
||||
plane {-z, 1 rotate <52.6625, -72, 0>}
|
||||
plane {-z, 1 rotate <52.6625, -144, 0>}
|
||||
plane {-z, 1 rotate <52.6625, -216, 0>}
|
||||
plane {-z, 1 rotate <52.6625, -288, 0>}
|
||||
|
||||
plane {-z, 1 rotate <10.8125, 0, 0>}
|
||||
plane {-z, 1 rotate <10.8125, -72, 0>}
|
||||
plane {-z, 1 rotate <10.8125, -144, 0>}
|
||||
plane {-z, 1 rotate <10.8125, -216, 0>}
|
||||
plane {-z, 1 rotate <10.8125, -288, 0>}
|
||||
|
||||
plane {-z, 1 rotate <-52.6625, -36, 0>}
|
||||
plane {-z, 1 rotate <-52.6625, -108, 0>}
|
||||
plane {-z, 1 rotate <-52.6625, -180, 0>}
|
||||
plane {-z, 1 rotate <-52.6625, -252, 0>}
|
||||
plane {-z, 1 rotate <-52.6625, -324, 0>}
|
||||
|
||||
plane {-z, 1 rotate <-10.8125, -36, 0>}
|
||||
plane {-z, 1 rotate <-10.8125, -108, 0>}
|
||||
plane {-z, 1 rotate <-10.8125, -180, 0>}
|
||||
plane {-z, 1 rotate <-10.8125, -252, 0>}
|
||||
plane {-z, 1 rotate <-10.8125, -324, 0>}
|
||||
|
||||
bounded_by {sphere {0, 1.2585}}
|
||||
}
|
||||
|
||||
// Shapes by others
|
||||
// Convenient finite cone primitive, pointing up in the Y axis
|
||||
#declare HalfCone_Y =
|
||||
intersection
|
||||
{object {Cone_Y}
|
||||
plane { y, 0}
|
||||
plane {-y, 2}
|
||||
translate <0, 1, 0>
|
||||
scale <0.5, 1, 0.5>
|
||||
|
||||
bounded_by {sphere{0, 1.5}}
|
||||
}
|
||||
|
||||
/* Hexagonal Solid, axis along x */
|
||||
#declare Hexagon =
|
||||
intersection
|
||||
{plane {z, 1} /* Rotate 90 in z axis to stand up */
|
||||
plane {z, 1 rotate < 60, 0, 0>}
|
||||
plane {z, 1 rotate <120, 0, 0>}
|
||||
plane {z, 1 rotate <180, 0, 0>}
|
||||
plane {z, 1 rotate <240, 0, 0>}
|
||||
plane {z, 1 rotate <300, 0, 0>}
|
||||
plane { x, 1}
|
||||
plane {-x, 1}
|
||||
|
||||
bounded_by {sphere{0, 1.5}}
|
||||
}
|
||||
|
||||
/* Three Dimensional 4-Sided Diamond */
|
||||
#declare Rhomboid =
|
||||
intersection
|
||||
{plane {-x, 1 rotate <0, 0, -30>}
|
||||
plane { x, 1 rotate <0, 0, -30>}
|
||||
plane { z, 1}
|
||||
plane {-z, 1}
|
||||
plane { y, 1}
|
||||
plane {-y, 1}
|
||||
|
||||
bounded_by {sphere{0, 2.3}}
|
||||
}
|
||||
|
||||
// Classic four-sided pyramids.
|
||||
// The first can't be used correctly in CSG, the second can.
|
||||
#declare Pyramid =
|
||||
union { // This isn't true CSG, it's just used for convenience
|
||||
triangle { <-1, 0, -1>, <+1, 0, -1>, <0, 1, 0> }
|
||||
triangle { <+1, 0, -1>, <+1, 0, +1>, <0, 1, 0> }
|
||||
triangle { <-1, 0, +1>, <+1, 0, +1>, <0, 1, 0> }
|
||||
triangle { <-1, 0, +1>, <-1, 0, -1>, <0, 1, 0> }
|
||||
|
||||
triangle { <-1, 0, -1>, <-1, 0, +1>, <1, 0, +1> }
|
||||
triangle { <-1, 0, -1>, <+1, 0, -1>, <1, 0, +1> }
|
||||
|
||||
scale <1, 2, 1>
|
||||
translate -y
|
||||
}
|
||||
#declare Pyramid2 = intersection {
|
||||
plane { < 1, 0, 0>, 1 rotate < 0, 0, 40>}
|
||||
plane { <-1, 0, 0>, 1 rotate < 0, 0, -40>}
|
||||
plane { < 0, 0, 1>, 1 rotate <-40, 0, 0>}
|
||||
plane { < 0, 0, -1>, 1 rotate < 40, 0, 0>}
|
||||
plane { <0, -1, 0>, 0 }
|
||||
translate <0 ,-1, 0>
|
||||
|
||||
bounded_by {box {<-1,0,-1>, <1,1,1>}}
|
||||
}
|
||||
|
||||
// These next three are finite planes.
|
||||
#declare Square_X = /* Scale-able plane in x */
|
||||
union
|
||||
{triangle {<0, 1, -1>, <0, -1, 1>, <0, 1, 1>}
|
||||
triangle {<0, 1, -1>, <0, -1, 1>, <0, -1, -1>}
|
||||
}
|
||||
|
||||
#declare Square_Y = /* Scale-able plane in y */
|
||||
union
|
||||
{triangle {<-1, 0, 1>, <1, 0, -1>, < 1, 0, 1>}
|
||||
triangle {<-1, 0, 1>, <1, 0, -1>, <-1, 0, -1>}
|
||||
}
|
||||
|
||||
#declare Square_Z = /* Scale-able plane in z */
|
||||
union
|
||||
{triangle {<-1, 1, 0>, <1, -1, 0>, <-1, -1, 0>}
|
||||
triangle {<-1, 1, 0>, <1, -1, 0>, < 1, 1, 0>}
|
||||
}
|
||||
|
||||
#version Shapes2_Inc_Temp;
|
||||
#end
|
||||
1417
distribution/include/shapes3.inc
Normal file
161
distribution/include/shapes_old.inc
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
|
||||
#ifndef(Shapes_Old_Inc_Temp)
|
||||
#declare Shapes_Old_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including shapes_old.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.5
|
||||
|
||||
IMPORTANT!
|
||||
This collection of standard shapes has been around since the days
|
||||
of DKB-Trace and early versions of POV-Ray. Those versions had no
|
||||
optomized primatives for planes, cones, disks etc. Some of the definitions
|
||||
below may seem trivial or unnecessary given the POV-Ray 2.0 and higher
|
||||
object primatives. We have retained these objects for compatibility with
|
||||
earlier versions.
|
||||
|
||||
With the release of POV-Ray 1.0, some of these shapes, in particular,
|
||||
the "Disk_?" group, were changed from an earlier beta test and DKB-Trace
|
||||
style. The file "shapes.old" is also included in this package for
|
||||
compatibility with pre-1.0 scenes.
|
||||
|
||||
*/
|
||||
//2001.7.27: renamed as shapes_old.inc for POV 3.5. The new shapes.inc
|
||||
//file includes this file, so backwards compatability is preserved.
|
||||
|
||||
|
||||
#declare Ellipsoid =
|
||||
sphere {<0, 0, 0>,1}
|
||||
|
||||
#declare Sphere =
|
||||
sphere {<0, 0, 0>,1}
|
||||
|
||||
#declare Cylinder_X =
|
||||
quadric
|
||||
{<0, 1, 1>,
|
||||
<0, 0, 0>,
|
||||
<0, 0, 0>, -1
|
||||
}
|
||||
|
||||
#declare Cylinder_Y =
|
||||
quadric
|
||||
{<1, 0, 1>,
|
||||
<0, 0, 0>,
|
||||
<0, 0, 0>, -1
|
||||
}
|
||||
|
||||
#declare Cylinder_Z =
|
||||
quadric
|
||||
{<1, 1, 0>,
|
||||
<0, 0, 0>,
|
||||
<0, 0, 0>, -1
|
||||
}
|
||||
|
||||
// Infinite cones
|
||||
#declare QCone_X =
|
||||
quadric
|
||||
{<-1, 1, 1>,
|
||||
< 0, 0, 0>,
|
||||
< 0, 0, 0>, 0
|
||||
}
|
||||
|
||||
#declare QCone_Y =
|
||||
quadric
|
||||
{<1, -1, 1>,
|
||||
<0, 0, 0>,
|
||||
<0, 0, 0>, 0
|
||||
}
|
||||
|
||||
#declare QCone_Z =
|
||||
quadric
|
||||
{<1, 1, -1>,
|
||||
<0, 0, 0>,
|
||||
<0, 0, 0>, 0
|
||||
}
|
||||
|
||||
// Unit cones
|
||||
// The Cone_n objects were formerly defined as intersections of
|
||||
// quadrics and boxes but now can be redefined with the cone primative.
|
||||
|
||||
#declare Cone_X = cone {x,0,-x,1}
|
||||
#declare Cone_Y = cone {y,0,-y,1}
|
||||
#declare Cone_Z = cone {z,0,-z,1}
|
||||
|
||||
// The Plane_nn objects were formerly defined as quadrics but now can
|
||||
// be redefined as a plane.
|
||||
|
||||
#declare Plane_YZ = plane {x,0}
|
||||
#declare Plane_XZ = plane {y,0}
|
||||
#declare Plane_XY = plane {z,0}
|
||||
|
||||
/* y^2 + z^2 - x = 0 */
|
||||
#declare Paraboloid_X =
|
||||
quadric
|
||||
{< 0, 1, 1>,
|
||||
< 0, 0, 0>,
|
||||
<-1, 0, 0>, 0
|
||||
}
|
||||
|
||||
/* x^2 + z^2 - y = 0 */
|
||||
#declare Paraboloid_Y =
|
||||
quadric
|
||||
{<1, 0, 1>,
|
||||
<0, 0, 0>,
|
||||
<0, -1, 0>, 0
|
||||
}
|
||||
|
||||
/* x^2 + y^2 - z = 0 */
|
||||
#declare Paraboloid_Z =
|
||||
quadric
|
||||
{<1, 1, 0>,
|
||||
<0, 0, 0>,
|
||||
<0, 0, -1>, 0
|
||||
}
|
||||
|
||||
/* y - x^2 + z^2 = 0 */
|
||||
#declare Hyperboloid =
|
||||
quadric
|
||||
{<-1, 0, 1>,
|
||||
< 0, 0, 0>,
|
||||
< 0, 1, 0>, 0
|
||||
}
|
||||
|
||||
#declare Hyperboloid_Y =
|
||||
quadric /* Vertical hyperboloid */
|
||||
{<1, -1, 1>, /* */
|
||||
<0, 0, 0>, /* \ / */
|
||||
<0, 0, 0>, -1 /* Like this: ) ( */
|
||||
} /* / \ */
|
||||
|
||||
// Cube using the procedural box primitive
|
||||
#declare UnitBox = box { <-1, -1, -1>, <1, 1, 1> }
|
||||
|
||||
// This primitive used to be an intersection of six planes. For speed,
|
||||
// it is now a box and nothing else.
|
||||
#declare Cube = box { <-1, -1, -1>, <1, 1, 1> }
|
||||
|
||||
// The Disk primitives are "capped" cylinders of unit length.
|
||||
//
|
||||
// They are now "unit" size, the same as a sphere with a radius of 1.
|
||||
// They will now scale evenly in all directions.
|
||||
|
||||
#declare Disk_X = /* Capped cylinder, Length in x axis */
|
||||
cylinder { x,-x,1}
|
||||
|
||||
#declare Disk_Y = /* Capped cylinder, Length in y axis */
|
||||
cylinder { y,-y,1}
|
||||
|
||||
#declare Disk_Z = /* Capped cylinder, Length in z axis */
|
||||
cylinder { z,-z,1}
|
||||
|
||||
#version Shapes_Old_Inc_Temp;
|
||||
#end
|
||||
339
distribution/include/shapesq.inc
Normal file
|
|
@ -0,0 +1,339 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
#ifndef(ShapesQ_Inc_Temp)
|
||||
#declare ShapesQ_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
# debug "including shapesq.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Quartic shapes include file
|
||||
Several cubic and quartic shape definitions
|
||||
by Alexander Enzmann
|
||||
|
||||
In the following descriptions, multiplication of two terms is
|
||||
shown as the two terms next to each other (i.e. x y, rather than
|
||||
x*y. The expression c(n, m) is the binomial coefficient, n!/m!(n-m)!.
|
||||
|
||||
*/
|
||||
|
||||
/* Bicorn
|
||||
This curve looks like the top part of a paraboloid, bounded
|
||||
from below by another paraboloid. The basic equation is:
|
||||
y^2 - (x^2 + z^2) y^2 - (x^2 + z^2 + 2 y - 1)^2 = 0. */
|
||||
#declare Bicorn =
|
||||
quartic
|
||||
{< 1, 0, 0, 0, 1, 0, 4, 2, 0, -2,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 3, 0, 4, 0, -4,
|
||||
1, 0, -2, 0, 1>
|
||||
}
|
||||
|
||||
/* Crossed Trough
|
||||
This is a surface with four pieces that sweep up from the x-z plane.
|
||||
The equation is: y = x^2 z^2. */
|
||||
#declare Crossed_Trough =
|
||||
quartic
|
||||
{< 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, 0, 0, 0>
|
||||
}
|
||||
|
||||
/* a drop coming out of water? This is a curve formed by using the equation
|
||||
y = 1/2 x^2 (x + 1) as the radius of a cylinder having the x-axis as
|
||||
its central axis. The final form of the equation is:
|
||||
y^2 + z^2 = 0.5 (x^3 + x^2) */
|
||||
#declare Cubic_Cylinder =
|
||||
quartic
|
||||
{< 0, 0, 0, -0.5, 0, 0, 0, 0, 0, -0.5,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0>
|
||||
}
|
||||
|
||||
/* a cubic saddle. The equation is: z = x^3 - y^3. */
|
||||
#declare Cubic_Saddle_1 =
|
||||
quartic
|
||||
{< 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -1, 0>
|
||||
}
|
||||
|
||||
/* Variant of a devil's curve in 3-space. This figure has a top and
|
||||
bottom part that are very similar to a hyperboloid of one sheet,
|
||||
however the central region is pinched in the middle leaving two
|
||||
teardrop shaped holes. The equation is:
|
||||
x^4 + 2 x^2 z^2 - 0.36 x^2 - y^4 + 0.25 y^2 + z^4 = 0. */
|
||||
#declare Devils_Curve =
|
||||
quartic
|
||||
{<-1, 0, 0, 0, 0, 0, 0, -2, 0, 0.36,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, -0.25, 0, 0, 0, 0,
|
||||
-1, 0, 0, 0, 0>
|
||||
}
|
||||
|
||||
/* Folium
|
||||
This is a folium rotated about the x-axis. The formula is:
|
||||
2 x^2 - 3 x y^2 - 3 x z^2 + y^2 + z^2 = 0. */
|
||||
#declare Folium =
|
||||
quartic
|
||||
{< 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
|
||||
0, 0, -3, 0, 0, 0, 0, -3, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0>
|
||||
}
|
||||
|
||||
/* Glob - sort of like basic teardrop shape. The equation is:
|
||||
y^2 + z^2 = 0.5 x^5 + 0.5 x^4. */
|
||||
#declare Glob_5 =
|
||||
poly
|
||||
{5,
|
||||
<-0.5, 0, 0, -0.5, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0>
|
||||
}
|
||||
|
||||
/* Variant of a lemniscate - the two lobes are much more teardrop-like. */
|
||||
#declare Twin_Glob =
|
||||
poly
|
||||
{6,
|
||||
< 4, 0, 0, 0, 0, 0, 0, 0, 0, -4,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0>
|
||||
}
|
||||
|
||||
/* Approximation to the helix z = arctan(y/x).
|
||||
|
||||
The helix can be approximated with an algebraic equation (kept to the
|
||||
range of a quartic) with the following steps:
|
||||
|
||||
tan(z) = y/x => sin(z)/cos(z) = y/x =>
|
||||
|
||||
(1) x sin(z) - y cos(z) = 0
|
||||
|
||||
Using the taylor expansions for sin, cos about z = 0,
|
||||
|
||||
sin(z) = z - z^3/3! + z^5/5! - ...
|
||||
cos(z) = 1 - z^2/2! + z^6/6! - ...
|
||||
|
||||
Throwing out the high order terms, the expression (1) can be written as:
|
||||
|
||||
x (z - z^3/6) - y (1 + z^2/2) = 0, or
|
||||
|
||||
(2) -1/6 x z^3 + x z + 1/2 y z^2 - y = 0
|
||||
|
||||
This helix (2) turns 90 degrees in the range 0 <= z <= sqrt(2)/2. By using
|
||||
scale <2 2 2>, the helix defined below turns 90 degrees in the range
|
||||
0 <= z <= sqrt(2) = 1.4042.
|
||||
*/
|
||||
#declare Helix =
|
||||
quartic
|
||||
{< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, -0.1666, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0.5, 0, -1,
|
||||
0, 0, 0, 0, 0>
|
||||
clipped_by
|
||||
{object {Cylinder_Z scale 2}
|
||||
plane { z, 1.4142}
|
||||
plane {-z, 0}
|
||||
}
|
||||
bounded_by{clipped_by}
|
||||
}
|
||||
|
||||
/* This is an alternate Helix, using clipped_by instead of csg intersection. */
|
||||
#declare Helix_1 = object {Helix}
|
||||
|
||||
/* Hyperbolic Torus having major radius sqrt(40), minor radius sqrt(12).
|
||||
This figure is generated by sweeping a circle along the arms of a
|
||||
hyperbola. The equation is:
|
||||
|
||||
x^4 + 2 x^2 y^2 - 2 x^2 z^2 - 104 x^2 + y^4 - 2 y^2 z^2 +
|
||||
56 y^2 + z^4 + 104 z^2 + 784 = 0.
|
||||
|
||||
See the description for the torus below. */
|
||||
#declare Hyperbolic_Torus_40_12 =
|
||||
quartic
|
||||
{< 1, 0, 0, 0, 2, 0, 0, -2, 0, -104,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, -2, 0, 56, 0, 0, 0, 0,
|
||||
1, 0, 104, 0, 784>
|
||||
}
|
||||
|
||||
/* Lemniscate of Gerono
|
||||
This figure looks like two teardrops with their pointed ends connected.
|
||||
It is formed by rotating the Lemniscate of Gerono about the x-axis.
|
||||
The formula is:
|
||||
x^4 - x^2 + y^2 + z^2 = 0. */
|
||||
#declare Lemniscate =
|
||||
quartic
|
||||
{< 1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0>
|
||||
}
|
||||
|
||||
/* This is a figure with a bumpy sheet on one side and something that
|
||||
looks like a paraboloid (but with an internal bubble). The formula
|
||||
is:
|
||||
(x^2 + y^2 + a c x)^2 - (x^2 + y^2)(c - a x)^2.
|
||||
|
||||
-99*x^4+40*x^3-98*x^2*y^2-98*x^2*z^2+99*x^2+40*x*y^2+40*x*z^2+y^4+2*y^2*z^2
|
||||
-y^2+z^4-z^2
|
||||
|
||||
*/
|
||||
#declare Quartic_Loop_1 =
|
||||
quartic
|
||||
{<99, 0, 0, -40, 98, 0, 0, 98, 0, -99,
|
||||
0, 0, -40, 0, 0, 0, 0, -40, 0, 0,
|
||||
-1, 0, 0, -2, 0, 1, 0, 0, 0, 0,
|
||||
-1, 0, 1, 0, 0>
|
||||
}
|
||||
|
||||
/* Monkey Saddle
|
||||
This surface has three parts that sweep up and three down. This gives
|
||||
a saddle that has a place for two legs and a tail... The equation is:
|
||||
|
||||
z = c (x^3 - 3 x y^2).
|
||||
|
||||
The value c gives a vertical scale to the surface - the smaller the
|
||||
value of c, the flatter the surface will be (near the origin). */
|
||||
#declare Monkey_Saddle =
|
||||
quartic
|
||||
{< 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -3, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -1, 0>
|
||||
}
|
||||
|
||||
/* Parabolic Torus having major radius sqrt(40), minor radius sqrt(12).
|
||||
This figure is generated by sweeping a circle along the arms of a
|
||||
parabola. The equation is:
|
||||
|
||||
x^4 + 2 x^2 y^2 - 2 x^2 z - 104 x^2 + y^4 - 2 y^2 z +
|
||||
56 y^2 + z^2 + 104 z + 784 = 0.
|
||||
|
||||
See the description for the torus below. */
|
||||
#declare Parabolic_Torus_40_12 =
|
||||
quartic
|
||||
{< 1, 0, 0, 0, 2, 0, 0, 0, -2, -104,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, -2, 56, 0, 0, 0, 0,
|
||||
0, 0, 1, 104, 784>
|
||||
}
|
||||
|
||||
/* Piriform
|
||||
This figure looks like a hersheys kiss. It is formed by sweeping
|
||||
a Piriform about the x-axis. a basic form of the equation is:
|
||||
(x^4 - x^3) + y^2 + z^2 = 0.
|
||||
*/
|
||||
#declare Piriform =
|
||||
quartic
|
||||
{< 4, 0, 0, -4, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0>
|
||||
}
|
||||
|
||||
/* n-Roll Mill
|
||||
This curve in the plane looks like several hyperbolas with their
|
||||
bumps arranged about the origin. The general formula is:
|
||||
|
||||
x^n - c(n,2) x^(n-2) y^2 + c(n,4) x^(n-4) y^4 - ... = a
|
||||
|
||||
When rendering in 3-Space, the resulting figure looks like a
|
||||
cylinder with indented sides.
|
||||
*/
|
||||
|
||||
/* Quartic parabola - a 4th degree polynomial (has two bumps at the bottom)
|
||||
that has been swept around the z axis. The equation is:
|
||||
0.1 x^4 - x^2 - y^2 - z^2 + 0.9 = 0. */
|
||||
#declare Quartic_Paraboloid =
|
||||
quartic
|
||||
{< 0.1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, -1, 0, 0.9>
|
||||
}
|
||||
|
||||
/* Quartic Cylinder - a Space Needle? */
|
||||
#declare Quartic_Cylinder =
|
||||
quartic
|
||||
{< 0, 0, 0, 0, 1, 0, 0, 0, 0, 0.01,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0.01, 0, -0.01>
|
||||
}
|
||||
|
||||
/* Steiners quartic surface */
|
||||
#declare Steiner_Surface =
|
||||
quartic
|
||||
{< 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0>
|
||||
}
|
||||
|
||||
/* Torus having major radius sqrt(40), minor radius sqrt(12) */
|
||||
#declare Torus_40_12 =
|
||||
quartic
|
||||
{< 1, 0, 0, 0, 2, 0, 0, 2, 0, -104,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 2, 0, 56, 0, 0, 0, 0,
|
||||
1, 0, -104, 0, 784>
|
||||
}
|
||||
|
||||
/* Witch of Agnesi */
|
||||
#declare Witch_Hat =
|
||||
quartic
|
||||
{< 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0.04,
|
||||
0, 0, 0, 0, 0.04>
|
||||
}
|
||||
|
||||
/* very rough approximation to the sin-wave surface z = sin(2 pi x y).
|
||||
In order to get an approximation good to 7 decimals at a distance of
|
||||
1 from the origin would require a polynomial of degree around 60. This
|
||||
would require around 200k coefficients. For best results, scale by
|
||||
something like <1 1 0.2>. */
|
||||
#declare Sinsurf =
|
||||
poly
|
||||
{6,
|
||||
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-1116.226, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 18.8496,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -1, 0>
|
||||
}
|
||||
|
||||
/* Empty quartic equation. Ready to be filled with numbers...
|
||||
quartic
|
||||
{< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0>
|
||||
}
|
||||
*/
|
||||
|
||||
#version ShapesQ_Inc_Temp;
|
||||
#end
|
||||
348
distribution/include/skies.inc
Normal file
|
|
@ -0,0 +1,348 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: skies.inc
|
||||
// Last updated: 2001.7.24
|
||||
// Description: Sky textures, sky_spheres, and sky objects.
|
||||
|
||||
#ifndef(Skies_Inc_Temp)
|
||||
#declare Skies_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including skies.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
|
||||
Contents:
|
||||
Pigments: (building blocks for the stuff below)
|
||||
P_Cloud1 pigment layer, contains clear regions. Use with background.
|
||||
P_Cloud2 pigment layer, contains clear regions. Use with background.
|
||||
P_Cloud3 pigment layer, contains clear regions. Use with background.
|
||||
|
||||
SkySpheres:
|
||||
S_Cloud1 sky_sphere, uses P_Cloud2.
|
||||
S_Cloud2 sky_sphere uses P_Cloud2.
|
||||
S_Cloud3 sky_sphere uses P_Cloud3.
|
||||
S_Cloud4 sky_sphere uses P_Cloud3.
|
||||
S_Cloud5 sky_sphere. Opaque.
|
||||
|
||||
Textures:
|
||||
T_Cloud1 2-layer texture using P_Cloud1 pigment, contains clear regions.
|
||||
T_Cloud2 1-layer texture, contains clear regions.
|
||||
T_Cloud3 2-layer texture, contains clear regions.
|
||||
|
||||
Objects:
|
||||
O_Cloud1 sphere, radius 10000 with T_Cloud1 texture.
|
||||
O_Cloud2 union of 2 planes, with T_Cloud2 and T_Cloud3.
|
||||
|
||||
*/
|
||||
|
||||
#declare P_Cloud1 =
|
||||
pigment {
|
||||
bozo
|
||||
turbulence 0.65
|
||||
octaves 6
|
||||
omega 0.7
|
||||
lambda 2
|
||||
color_map {
|
||||
[0.0, 0.1 color red 0.85 green 0.85 blue 0.85
|
||||
color red 0.75 green 0.75 blue 0.75]
|
||||
[0.1, 0.5 color red 0.75 green 0.75 blue 0.75
|
||||
color Clear]
|
||||
[0.5, 1.001 color Clear
|
||||
color Clear]
|
||||
}
|
||||
scale <6, 1, 6>
|
||||
}
|
||||
|
||||
#declare P_Cloud2 =
|
||||
pigment {
|
||||
wrinkles
|
||||
turbulence 0.65
|
||||
octaves 6
|
||||
omega 0.7
|
||||
lambda 2
|
||||
color_map {
|
||||
[0.0, 0.1 color red 0.85 green 0.85 blue 0.85
|
||||
color red 0.75 green 0.75 blue 0.75]
|
||||
[0.1, 0.5 color red 0.75 green 0.75 blue 0.75
|
||||
color rgb <0.258, 0.258, 0.435> ]
|
||||
[0.5, 1.001 color rgb <0.258, 0.258, 0.435>
|
||||
color rgb <0.258, 0.258, 0.435> ]
|
||||
}
|
||||
scale <6, 1, 6>
|
||||
}
|
||||
#declare P_Cloud3 =
|
||||
pigment {
|
||||
bozo
|
||||
color_map {
|
||||
[0.0, 0.1 color red 0.85 green 0.85 blue 0.85
|
||||
color red 0.55 green 0.60 blue 0.65]
|
||||
[0.1, 0.5 color red 0.55 green 0.60 blue 0.65
|
||||
color rgb <0.184, 0.184, 0.309> ]
|
||||
[0.5, 1.001 color rgb <0.184, 0.184, 0.309>
|
||||
color rgb <0.1, 0.1, 0.2>]
|
||||
}
|
||||
turbulence 0.65
|
||||
octaves 6
|
||||
omega 0.707
|
||||
lambda 2
|
||||
scale <6, 4, 6>
|
||||
}
|
||||
|
||||
#declare P_Cloud4 =
|
||||
pigment {
|
||||
wrinkles
|
||||
turbulence 0.1
|
||||
lambda 2.2
|
||||
omega 0.707
|
||||
color_map {
|
||||
[0.20 SkyBlue * 0.85 ]
|
||||
[0.50 White ]
|
||||
[1.00 Gray70 ]
|
||||
}
|
||||
scale <0.5, 0.15, 1>
|
||||
}
|
||||
|
||||
#declare S_Cloud1 =
|
||||
sky_sphere {
|
||||
pigment {
|
||||
gradient y
|
||||
pigment_map {
|
||||
[0.01 rgb <0.847, 0.749, 0.847> ] // horizon
|
||||
[0.25 P_Cloud2 scale 0.25 rotate z*5]
|
||||
[0.60 P_Cloud3 scale <0.25, 0.15, 0.25> rotate z*10]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare S_Cloud2 =
|
||||
sky_sphere {
|
||||
pigment {
|
||||
gradient y
|
||||
pigment_map {
|
||||
[0.00 rgb <0.847, 0.749, 0.847> ] // horizon
|
||||
[0.10 SkyBlue ] // horizon
|
||||
[0.20 P_Cloud4 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare S_Cloud3 =
|
||||
sky_sphere {
|
||||
pigment {
|
||||
gradient y
|
||||
pigment_map {
|
||||
[0.10 rgb <0.258, 0.258, 0.435> ]
|
||||
[0.25 P_Cloud2 scale 0.15 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare S_Cloud4 =
|
||||
sky_sphere {
|
||||
pigment {
|
||||
gradient y
|
||||
pigment_map {
|
||||
[0.00 rgb <0.184, 0.184, 0.309> ]
|
||||
[0.15 P_Cloud3 scale <0.05, 0.40, 0.05> rotate z*30 ]
|
||||
[0.45 P_Cloud3 scale <0.25, 0.15, 0.50> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#declare S_Cloud5 =
|
||||
sky_sphere {
|
||||
pigment { rgb <0.258, 0.258, 0.435> }
|
||||
pigment {
|
||||
bozo
|
||||
turbulence 1.5
|
||||
octaves 10
|
||||
omega .5
|
||||
lambda 2.5
|
||||
color_map {
|
||||
[0.0, 0.5 color rgbt<.75, .75, .75, 0>
|
||||
color rgbt<.9, .9, .9, .9> ]
|
||||
[0.5, 0.7 color rgbt<.9, .9, .9, .9>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
[0.7, 1.0 color rgbt<1, 1, 1, 1>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
}
|
||||
scale <1, 0.3, 10>
|
||||
}
|
||||
pigment {
|
||||
bozo
|
||||
turbulence 0.6
|
||||
octaves 10
|
||||
omega .5
|
||||
lambda 2.5
|
||||
color_map {
|
||||
[0.0, 0.4 color rgbt<.75, .75, .75, 0>
|
||||
color rgbt<.9, .9, .9, .9> ]
|
||||
[0.4, 0.7 color rgbt<.9, .9, .9, .9>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
[0.7, 1.0 color rgbt<1, 1, 1, 1>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
}
|
||||
scale <1, 0.3, 10>
|
||||
}
|
||||
pigment {
|
||||
bozo
|
||||
turbulence 0.8
|
||||
octaves 10
|
||||
omega .5
|
||||
lambda 2.5
|
||||
color_map {
|
||||
[0.0, 0.4 color rgbt<.75, .75, .75, 0>
|
||||
color rgbt<.9, .9, .9, .9> ]
|
||||
[0.4, 0.6 color rgbt<.9, .9, .9, .9>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
[0.6, 1.0 color rgbt<1, 1, 1, 1>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
}
|
||||
scale <1, 0.3, 10>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ***********************************
|
||||
// Bill Pulver's FBM Clouds
|
||||
// A three-layer cloud texture.
|
||||
// ***********************************
|
||||
#declare T_Cloud1 =
|
||||
texture { // The upper part of the clouds
|
||||
pigment {
|
||||
P_Cloud1
|
||||
}
|
||||
finish {
|
||||
ambient 1.0
|
||||
diffuse 0
|
||||
}
|
||||
}
|
||||
texture { // The darker underside of the clouds
|
||||
pigment {
|
||||
P_Cloud1
|
||||
translate -0.15*y
|
||||
}
|
||||
finish {
|
||||
ambient 0.6
|
||||
diffuse 0
|
||||
}
|
||||
}
|
||||
|
||||
// T_Cloud1 mapped onto a sphere
|
||||
#declare O_Cloud1 =
|
||||
sphere { <0,0,0>, 10000
|
||||
texture {
|
||||
T_Cloud1
|
||||
scale 1000
|
||||
}
|
||||
}
|
||||
|
||||
// ***********************************
|
||||
// Darin Dugger's "Kite" clouds
|
||||
// ***********************************
|
||||
#declare T_Cloud2 =
|
||||
texture {
|
||||
pigment {
|
||||
bozo
|
||||
turbulence 1.5
|
||||
octaves 10
|
||||
omega .5
|
||||
lambda 2.5
|
||||
color_map {
|
||||
[0.0, 0.5 color rgbt<.75, .75, .75, 0>
|
||||
color rgbt<.9, .9, .9, .9> ]
|
||||
[0.5, 0.7 color rgbt<.9, .9, .9, .9>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
[0.7, 1.0 color rgbt<1, 1, 1, 1>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
}
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient 0.9
|
||||
diffuse 0.1
|
||||
}
|
||||
}
|
||||
|
||||
#declare T_Cloud3 =
|
||||
texture {
|
||||
pigment {
|
||||
bozo
|
||||
turbulence 0.8 //0.6
|
||||
octaves 10
|
||||
omega .5
|
||||
lambda 2.5
|
||||
color_map {
|
||||
[0.0, 0.4 color rgbt<.75, .75, .75, 0>
|
||||
color rgbt<.9, .9, .9, .9> ]
|
||||
[0.4, 0.7 color rgbt<.9, .9, .9, .9>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
[0.7, 1.0 color rgbt<1, 1, 1, 1>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
}
|
||||
}
|
||||
finish {
|
||||
ambient 1.0
|
||||
diffuse 0.0
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
bozo
|
||||
turbulence 0.8 //0.6
|
||||
octaves 10
|
||||
omega .5
|
||||
lambda 2.5
|
||||
color_map {
|
||||
[0.0, 0.4 color rgbt<.75, .75, .75, 0>
|
||||
color rgbt<.9, .9, .9, .9> ]
|
||||
[0.4, 0.6 color rgbt<.9, .9, .9, .9>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
[0.6, 1.0 color rgbt<1, 1, 1, 1>
|
||||
color rgbt<1, 1, 1, 1> ]
|
||||
}
|
||||
}
|
||||
finish {
|
||||
ambient 0.95
|
||||
diffuse 0.0
|
||||
}
|
||||
scale .9
|
||||
translate y*-0.15
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Darin Dugger's DD_Cloud_Sky texture mapped onto a pair of planes
|
||||
// NOTE: Lowest plane is at y=500
|
||||
#declare O_Cloud2 =
|
||||
union {
|
||||
plane { y, 500
|
||||
texture {
|
||||
T_Cloud3
|
||||
scale 600
|
||||
}
|
||||
}
|
||||
plane { y, 3000
|
||||
texture {
|
||||
T_Cloud2
|
||||
scale <900,1,6000>
|
||||
translate x*3000
|
||||
rotate -30*y
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#version Skies_Inc_Temp;
|
||||
#end
|
||||
BIN
distribution/include/spiral.df3
Normal file
22
distribution/include/stage1.inc
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence Of Vision Raytracer version 3.1 sample file.
|
||||
#include "colors.inc"
|
||||
#include "textures.inc"
|
||||
#include "shapes.inc"
|
||||
|
||||
#declare Camera1=
|
||||
camera {
|
||||
location <0, 0, -60>
|
||||
direction <0, 0, 10>
|
||||
look_at <0, 0, 0>
|
||||
}
|
||||
|
||||
camera { Camera1 }
|
||||
|
||||
light_source { <1000, 1000, -2000> color White}
|
||||
|
||||
plane { z, 1.01 pigment {checker color White color rgb <1,.8,.8>}hollow on }
|
||||
|
||||
160
distribution/include/stars.inc
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
#ifndef(Stars_Inc_Temp)
|
||||
#declare Stars_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
|
||||
|
||||
Here are some updated/additional Starfield textures which you can include
|
||||
in distribution with POVRAY 3.1. These textures use some of the new
|
||||
features in POVRAY 3.1. The starfields become more "dense" as you progress
|
||||
from Starfield1 to Starfield6 and add a little color since all stars are not
|
||||
white but light shades of white, blue, red, and yellow.
|
||||
|
||||
Respectfully;
|
||||
|
||||
Jeff Burton
|
||||
jburton@apex.net
|
||||
http://www.geocities.com/SoHo/2365
|
||||
*/
|
||||
|
||||
|
||||
#declare Starfield1 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
color_map {
|
||||
[ 0.000 0.270 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.270 0.280 color rgb <.5,.5,.4> color rgb <.8,.8,.4> ]
|
||||
[ 0.280 0.470 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.470 0.480 color rgb <.4,.4,.5> color rgb <.4,.4,.8> ]
|
||||
[ 0.480 0.680 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.680 0.690 color rgb <.5,.4,.4> color rgb <.8,.4,.4> ]
|
||||
[ 0.690 0.880 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.880 0.890 color rgb <.5,.5,.5> color rgb < 1, 1, 1> ]
|
||||
[ 0.890 1.000 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
}
|
||||
turbulence 1
|
||||
sine_wave
|
||||
scale .5
|
||||
}
|
||||
finish { diffuse 0 ambient 1 }
|
||||
}
|
||||
|
||||
#declare Starfield2 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
color_map {
|
||||
[ 0.000 0.270 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.270 0.285 color rgb <.5,.5,.4> color rgb <.8,.8,.4> ]
|
||||
[ 0.285 0.470 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.470 0.485 color rgb <.4,.4,.5> color rgb <.4,.4,.8> ]
|
||||
[ 0.485 0.680 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.680 0.695 color rgb <.5,.4,.4> color rgb <.8,.4,.4> ]
|
||||
[ 0.695 0.880 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.880 0.895 color rgb <.5,.5,.5> color rgb < 1, 1, 1> ]
|
||||
[ 0.895 1.000 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
}
|
||||
turbulence 1
|
||||
sine_wave
|
||||
scale .5
|
||||
}
|
||||
finish { diffuse 0 ambient 1 }
|
||||
}
|
||||
|
||||
#declare Starfield3 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
color_map {
|
||||
[ 0.000 0.270 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.270 0.290 color rgb <.5,.5,.4> color rgb <.8,.8,.4> ]
|
||||
[ 0.290 0.470 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.470 0.490 color rgb <.4,.4,.5> color rgb <.4,.4,.8> ]
|
||||
[ 0.490 0.680 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.680 0.700 color rgb <.5,.4,.4> color rgb <.8,.4,.4> ]
|
||||
[ 0.700 0.880 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.880 0.900 color rgb <.5,.5,.5> color rgb < 1, 1, 1> ]
|
||||
[ 0.900 1.000 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
}
|
||||
turbulence 1
|
||||
sine_wave
|
||||
scale .5
|
||||
}
|
||||
finish { diffuse 0 ambient 1 }
|
||||
}
|
||||
|
||||
#declare Starfield4 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
color_map {
|
||||
[ 0.000 0.270 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.270 0.300 color rgb <.5,.5,.4> color rgb <.8,.8,.4> ]
|
||||
[ 0.300 0.470 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.470 0.500 color rgb <.4,.4,.5> color rgb <.4,.4,.8> ]
|
||||
[ 0.500 0.670 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.670 0.700 color rgb <.5,.4,.4> color rgb <.8,.4,.4> ]
|
||||
[ 0.700 0.870 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.870 0.900 color rgb <.5,.5,.5> color rgb < 1, 1, 1> ]
|
||||
[ 0.900 1.000 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
}
|
||||
turbulence 1
|
||||
sine_wave
|
||||
scale .5
|
||||
}
|
||||
finish { diffuse 0 ambient 1 }
|
||||
}
|
||||
|
||||
#declare Starfield5 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
color_map {
|
||||
[ 0.000 0.260 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.260 0.300 color rgb <.5,.5,.4> color rgb <.8,.8,.4> ]
|
||||
[ 0.300 0.460 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.460 0.500 color rgb <.4,.4,.5> color rgb <.4,.4,.8> ]
|
||||
[ 0.500 0.660 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.660 0.700 color rgb <.5,.4,.4> color rgb <.8,.4,.4> ]
|
||||
[ 0.700 0.860 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.860 0.900 color rgb <.5,.5,.5> color rgb < 1, 1, 1> ]
|
||||
[ 0.900 1.000 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
}
|
||||
turbulence 1
|
||||
sine_wave
|
||||
scale .5
|
||||
}
|
||||
finish { diffuse 0 ambient 1 }
|
||||
}
|
||||
|
||||
#declare Starfield6 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
color_map {
|
||||
[ 0.000 0.250 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.250 0.300 color rgb <.5,.5,.4> color rgb <.8,.8,.4> ]
|
||||
[ 0.300 0.450 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.450 0.500 color rgb <.4,.4,.5> color rgb <.4,.4,.8> ]
|
||||
[ 0.500 0.650 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.650 0.700 color rgb <.5,.4,.4> color rgb <.8,.4,.4> ]
|
||||
[ 0.700 0.850 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
[ 0.850 0.900 color rgb <.5,.5,.5> color rgb < 1, 1, 1> ]
|
||||
[ 0.900 1.000 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
|
||||
}
|
||||
turbulence 1
|
||||
sine_wave
|
||||
scale .5
|
||||
}
|
||||
finish { diffuse 0 ambient 1 }
|
||||
}
|
||||
|
||||
#version Stars_Inc_Temp;
|
||||
#end
|
||||
14
distribution/include/stdcam.inc
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence Of Vision raytracer version 3.1 sample file.
|
||||
camera {
|
||||
location <-2.0, 1.75, -5>
|
||||
right x*1.3333
|
||||
angle 70
|
||||
look_at <-0.75, -0.5, 0>
|
||||
}
|
||||
|
||||
light_source { <20, 20, -25> rgb 1 }
|
||||
plane { y, 0 pigment { Plum }}
|
||||
28
distribution/include/stdinc.inc
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: stdinc.inc
|
||||
// Last updated: 2001.8.16
|
||||
// Description: The most commonly used include files.
|
||||
|
||||
#ifndef(STDINC_INC_TEMP)
|
||||
#declare STDINC_INC_TEMP = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including stdinc.inc\n"
|
||||
#end
|
||||
|
||||
#include "colors.inc"
|
||||
#include "shapes.inc"
|
||||
#include "transforms.inc"
|
||||
#include "consts.inc"
|
||||
#include "functions.inc"
|
||||
#include "math.inc"
|
||||
#include "rand.inc"
|
||||
|
||||
#version STDINC_INC_TEMP;
|
||||
#end//arrays.inc
|
||||
|
||||
88
distribution/include/stoneold.inc
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
#ifndef(Stoneold_Inc_Temp)
|
||||
#declare Stoneold_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
# debug "including stoneold.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
|
||||
Stone textures by Mike Miller 1992
|
||||
Backwards-compatibility translation file.
|
||||
Translates old texture names to new texture names.
|
||||
Use stones1.inc in the future.
|
||||
|
||||
*/
|
||||
|
||||
#include "stones1.inc"
|
||||
#declare Grnt0 = texture { T_Grnt0 }
|
||||
#declare Grnt1 = texture { T_Grnt1 }
|
||||
#declare Grnt2 = texture { T_Grnt2 }
|
||||
#declare Grnt3 = texture { T_Grnt3 }
|
||||
#declare Grnt4 = texture { T_Grnt4 }
|
||||
#declare Grnt5 = texture { T_Grnt5 }
|
||||
#declare Grnt6 = texture { T_Grnt6 }
|
||||
#declare Grnt7 = texture { T_Grnt7 }
|
||||
#declare Grnt8 = texture { T_Grnt8 }
|
||||
#declare Grnt9 = texture { T_Grnt9 }
|
||||
#declare Grnt10 = texture { T_Grnt10 }
|
||||
#declare Grnt11 = texture { T_Grnt11 }
|
||||
#declare Grnt12 = texture { T_Grnt12 }
|
||||
#declare Grnt13 = texture { T_Grnt13 }
|
||||
#declare Grnt14 = texture { T_Grnt14 }
|
||||
#declare Grnt15 = texture { T_Grnt15 }
|
||||
#declare Grnt16 = texture { T_Grnt16 }
|
||||
#declare Grnt17 = texture { T_Grnt17 }
|
||||
#declare Grnt18 = texture { T_Grnt18 }
|
||||
#declare Grnt19 = texture { T_Grnt19 }
|
||||
#declare Grnt20 = texture { T_Grnt20 }
|
||||
#declare Grnt21 = texture { T_Grnt21 }
|
||||
#declare Grnt22 = texture { T_Grnt22 }
|
||||
#declare Grnt23 = texture { T_Grnt23 }
|
||||
#declare Grnt24 = texture { T_Grnt24 }
|
||||
#declare Grnt25 = texture { T_Grnt25 }
|
||||
#declare Grnt26 = texture { T_Grnt26 }
|
||||
#declare Grnt27 = texture { T_Grnt27 }
|
||||
#declare Grnt28 = texture { T_Grnt28 }
|
||||
#declare Grnt29 = texture { T_Grnt29 }
|
||||
#declare Grnt0a = texture { T_Grnt0a }
|
||||
#declare Grnt1a = texture { T_Grnt1a }
|
||||
#declare Grnt2a = texture { T_Grnt2a }
|
||||
#declare Crack1 = texture { T_Crack1 }
|
||||
#declare Crack2 = texture { T_Crack2 }
|
||||
#declare Crack3 = texture { T_Crack3 }
|
||||
#declare Crack4 = texture { T_Crack4 }
|
||||
#declare Stone1 = texture { T_Stone1 }
|
||||
#declare Stone2 = texture { T_Stone2 }
|
||||
#declare Stone3 = texture { T_Stone3 }
|
||||
#declare Stone4 = texture { T_Stone4 }
|
||||
#declare Stone5 = texture { T_Stone5 }
|
||||
#declare Stone6 = texture { T_Stone6 }
|
||||
#declare Stone7 = texture { T_Stone7 }
|
||||
#declare Stone8 = texture { T_Stone8 }
|
||||
#declare Stone9 = texture { T_Stone9 }
|
||||
#declare Stone10 = texture { T_Stone10 }
|
||||
#declare Stone11 = texture { T_Stone11 }
|
||||
#declare Stone12 = texture { T_Stone12 }
|
||||
#declare Stone13 = texture { T_Stone13 }
|
||||
#declare Stone14 = texture { T_Stone14 }
|
||||
#declare Stone15 = texture { T_Stone15 }
|
||||
#declare Stone16 = texture { T_Stone16 }
|
||||
#declare Stone17 = texture { T_Stone17 }
|
||||
#declare Stone18 = texture { T_Stone18 }
|
||||
#declare Stone19 = texture { T_Stone19 }
|
||||
#declare Stone20 = texture { T_Stone20 }
|
||||
#declare Stone21 = texture { T_Stone21 }
|
||||
#declare Stone22 = texture { T_Stone22 }
|
||||
#declare Stone23 = texture { T_Stone23 }
|
||||
#declare Stone24 = texture { T_Stone24 }
|
||||
|
||||
#version Stoneold_Inc_Temp;
|
||||
#end
|
||||
25
distribution/include/stones.inc
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
#ifndef(Stones_Inc_Temp)
|
||||
#declare Stones_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
# debug "including stones.inc\n"
|
||||
#end
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
|
||||
Combines stones1.inc and stones2.inc. Use only if
|
||||
needed, since it will take longer to parse.
|
||||
|
||||
*/
|
||||
|
||||
#include "stones1.inc"
|
||||
#include "stones2.inc"
|
||||
|
||||
#version Stones_Inc_Temp;
|
||||
#end
|
||||
1663
distribution/include/stones1.inc
Normal file
890
distribution/include/stones2.inc
Normal file
|
|
@ -0,0 +1,890 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: stones2.inc
|
||||
// Last updated: 2001.7.24
|
||||
// Description: Stone textures.
|
||||
|
||||
#ifndef(Stones2_Inc_Temp)
|
||||
#declare Stones2_Inc_Temp = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including stones2.inc\n"
|
||||
#end
|
||||
|
||||
/* This file was modified July 2001 to work as it should with POV-Ray 3.5,
|
||||
all filters being changed to transmits*/
|
||||
|
||||
/*
|
||||
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
T_Stone25 through T_Stone35 created by Dan Farmer, 1995
|
||||
T_Stone36 through T_Stone43 created by Paul Novak, 1995
|
||||
T_Stone44 by Dan Farmer 1995
|
||||
|
||||
*/
|
||||
|
||||
#declare T_Stone25 =
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.3
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.45
|
||||
rotate <0, 5, 60>
|
||||
color_map {
|
||||
[0.02 color rgbt <0.30, 0.60, 0.45, 0.0> ]
|
||||
[0.06 color rgbt <0.35, 0.55, 0.40, 0.0> ]
|
||||
[0.10 color rgbt <0.25, 0.25, 0.20, 0.0> ]
|
||||
[1.00 color rgbt <0.75, 0.75, 0.60, 0.0> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.2
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.65
|
||||
rotate <0, 45, 60>
|
||||
color_map {
|
||||
[0.02 color rgbt <0.30, 0.60, 0.45, 0.95> ]
|
||||
[0.06 color rgbt <0.35, 0.55, 0.40, 0.75> ]
|
||||
[0.10 color rgbt <0.25, 0.25, 0.20, 0.65> ]
|
||||
[1.00 color rgbt <0.75, 0.75, 0.60, 0.60> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.2
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.15
|
||||
rotate <30, 30, 30>
|
||||
color_map {
|
||||
[0.00 color rgbt <0.95, 0.95, 0.95, 0.30> ]
|
||||
[0.03 color rgbt <0.85, 0.85, 0.85, 0.60> ]
|
||||
[0.06 color rgbt <0.50, 0.50, 0.50, 0.90> ]
|
||||
[0.10 color rgbt <1.00, 1.00, 1.00, 1.00> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare T_Stone26 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
rotate y*90
|
||||
color_map {
|
||||
[0.02 color rgbt <0.25, 0.45, 0.60, 0.0> ]
|
||||
[0.06 color rgbt <0.20, 0.40, 0.55, 0.0> ]
|
||||
[0.10 color rgbt <0.15, 0.20, 0.25, 0.0> ]
|
||||
[1.00 color rgbt <0.40, 0.60, 0.75, 0.0> ]
|
||||
}
|
||||
frequency 6
|
||||
rotate <0, 10, 0>
|
||||
turbulence <0.05, 0.05, 0.05>
|
||||
octaves 6
|
||||
omega 0.7
|
||||
lambda 2
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
gradient x
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.10 color rgbt <1.00, 1.00, 1.00, 0.75> ]
|
||||
[0.15 color rgbt <0.15, 0.25, 0.40, 0.50> ]
|
||||
[0.20 color rgbt <0.00, 0.05, 0.10, 0.25> ]
|
||||
[0.25 color rgbt <0.15, 0.25, 0.40, 0.25> ]
|
||||
[0.30 color rgbt <0.35, 0.55, 0.40, 0.50> ]
|
||||
[0.35 color rgbt <0.25, 0.25, 0.20, 0.75> ]
|
||||
[0.35 color Clear ]
|
||||
}
|
||||
frequency 3
|
||||
rotate <1, 10, 45>
|
||||
rotate x*60
|
||||
turbulence <0.30, 0.30, 0.30>
|
||||
octaves 6
|
||||
omega 0.7
|
||||
lambda 2.2
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
agate
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.10 color rgbt <1.00, 1.00, 1.00, 0.75> ]
|
||||
[0.15 color rgbt <0.35, 0.55, 0.40, 0.50> ]
|
||||
[0.20 color rgbt <0.25, 0.25, 0.20, 0.25> ]
|
||||
[0.25 color rgbt <0.30, 0.60, 0.45, 0.25> ]
|
||||
[0.30 color rgbt <0.35, 0.55, 0.40, 0.50> ]
|
||||
[0.35 color rgbt <0.25, 0.25, 0.20, 0.75> ]
|
||||
[0.35 color Clear ]
|
||||
}
|
||||
frequency 3
|
||||
rotate <2, 10, 75>
|
||||
rotate x*120
|
||||
turbulence <0.05, 0.05, 0.05>
|
||||
octaves 6
|
||||
omega 0.7
|
||||
lambda 2
|
||||
}
|
||||
}
|
||||
|
||||
#declare T_Stone27 =
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.35
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.5
|
||||
frequency 3
|
||||
rotate <0, -45, 30>
|
||||
color_map {
|
||||
[0.02 color rgbt <0.25, 0.45, 0.60, 0.0> ]
|
||||
[0.06 color rgbt <0.20, 0.40, 0.55, 0.0> ]
|
||||
[0.10 color rgbt <0.05, 0.10, 0.15, 0.0> ]
|
||||
[1.00 color rgbt <0.40, 0.60, 0.75, 0.0> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.1
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.45
|
||||
frequency 1
|
||||
phase 0.25
|
||||
rotate <0, 45, 60>
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.20 color rgbt <1.00, 1.00, 1.00, 0.75> ]
|
||||
[0.25 color rgbt <0.25, 0.45, 0.40, 0.50> ]
|
||||
[0.30 color rgbt <0.00, 0.00, 0.00, 0.00> ]
|
||||
[0.35 color rgbt <0.15, 0.75, 0.60, 0.50> ]
|
||||
[0.40 color rgbt <0.35, 0.85, 0.40, 0.60> ]
|
||||
[0.45 color rgbt <0.35, 0.45, 0.20, 0.75> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.35
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 2
|
||||
frequency 2
|
||||
rotate <0, 90, 0>
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.20 color rgbt <1.00, 1.00, 1.00, 0.75> ]
|
||||
[0.25 color rgbt <0.35, 0.55, 0.40, 0.50> ]
|
||||
[0.30 color rgbt <0.00, 0.00, 0.00, 0.00> ]
|
||||
[0.45 color rgbt <0.30, 0.60, 0.45, 0.25> ]
|
||||
[0.50 color rgbt <0.35, 0.55, 0.40, 0.50> ]
|
||||
[0.65 color rgbt <0.25, 0.25, 0.20, 0.75> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#declare T_Stone28 =
|
||||
texture {
|
||||
pigment {
|
||||
agate
|
||||
agate_turb 0.75
|
||||
frequency 6
|
||||
scale 0.5
|
||||
rotate <0, -45, 5>
|
||||
color_map {
|
||||
[0.02 color rgbt <0.65, 0.45, 0.25, 0.0> ]
|
||||
[0.06 color rgbt <0.55, 0.40, 0.20, 0.0> ]
|
||||
[0.10 color rgbt <0.15, 0.10, 0.05, 0.0> ]
|
||||
[1.00 color rgbt <0.75, 0.60, 0.40, 0.0> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.1
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.75
|
||||
frequency 1
|
||||
phase 0.25
|
||||
rotate <0, 45, 60>
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.25 color rgbt <0.40, 0.25, 0.15, 0.50> ]
|
||||
[0.30 color rgbt <0.00, 0.00, 0.00, 0.00> ]
|
||||
[0.35 color rgbt <0.40, 0.25, 0.15, 0.50> ]
|
||||
[0.40 color rgbt <0.45, 0.55, 0.35, 0.60> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.1
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.45
|
||||
frequency 2
|
||||
phase 0.25
|
||||
rotate <0, 5, 60>
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.25 color rgbt <0.65, 0.25, 0.40, 0.50> ]
|
||||
[0.30 color rgbt <0.00, 0.00, 0.00, 0.00> ]
|
||||
[0.45 color rgbt <0.50, 0.60, 0.35, 0.25> ]
|
||||
[0.50 color rgbt <0.65, 0.25, 0.40, 0.50> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#declare T_Stone29 =
|
||||
texture {
|
||||
pigment {
|
||||
gradient x
|
||||
turbulence 0.75
|
||||
frequency 6
|
||||
scale 0.5
|
||||
rotate <0, -45, 30>
|
||||
color_map {
|
||||
[0.02 color rgb <0.65, 0.35, 0.25> ]
|
||||
[0.06 color rgb <0.55, 0.25, 0.10> ]
|
||||
[0.10 color rgb <0.45, 0.30, 0.25> ]
|
||||
[1.00 color rgb <0.65, 0.35, 0.25> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.6
|
||||
lambda 1.75
|
||||
omega 0.55
|
||||
octaves 4
|
||||
scale 0.45
|
||||
rotate <0, 5, 60>
|
||||
color_map {
|
||||
[0.01 color rgbt <0.00, 0.00, 0.00, 0.00> ]
|
||||
[0.02 color rgbt <0.40, 0.25, 0.15, 0.20> ]
|
||||
[0.05 color rgbt <0.40, 0.35, 0.20, 0.40> ]
|
||||
[0.10 color rgbt <0.45, 0.55, 0.25, 0.60> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 0.1
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.75
|
||||
frequency 1
|
||||
phase 0.25
|
||||
rotate <0, 45, 60>
|
||||
color_map {
|
||||
[0.15 color rgbt <0.40, 0.25, 0.15, 0.40> ]
|
||||
[0.20 color rgbt <0.20, 0.10, 0.00, 0.00> ]
|
||||
[0.25 color rgbt <0.20, 0.15, 0.15, 0.40> ]
|
||||
[0.30 color rgbt <0.40, 0.25, 0.15, 0.70> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare T_Stone30 =
|
||||
texture {
|
||||
pigment {
|
||||
gradient x
|
||||
turbulence 0.75
|
||||
frequency 6
|
||||
scale 0.5
|
||||
rotate <0, -45, 30>
|
||||
color_map {
|
||||
[0.02 color rgbt <0.85, 0.85, 0.45, 0.0> ]
|
||||
[0.06 color rgbt <0.65, 0.65, 0.40, 0.0> ]
|
||||
[0.10 color rgbt <0.90, 0.90, 0.65, 0.0> ]
|
||||
[1.00 color rgbt <0.85, 0.85, 0.45, 0.0> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.3
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.45
|
||||
frequency 2
|
||||
phase 0.25
|
||||
rotate <0, 5, 60>
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.25 color rgbt <0.40, 0.40, 0.15, 0.50> ]
|
||||
[0.30 color rgbt <0.00, 0.00, 0.00, 0.00> ]
|
||||
[0.35 color rgbt <0.40, 0.40, 0.20, 0.50> ]
|
||||
[0.40 color rgbt <0.65, 0.65, 0.30, 0.60> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.1
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.75
|
||||
frequency 1
|
||||
phase 0.25
|
||||
rotate <0, 45, 60>
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.15 color rgbt <0.40, 0.15, 0.45, 0.60> ]
|
||||
[0.18 color rgbt <0.20, 0.10, 0.00, 0.00> ]
|
||||
[0.25 color rgbt <0.20, 0.15, 0.45, 0.60> ]
|
||||
[0.30 color rgbt <0.40, 0.15, 0.45, 0.80> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare T_Stone31 =
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.3
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.45
|
||||
rotate <0, 5, 60>
|
||||
color_map {
|
||||
[0.00 color Gray90 ]
|
||||
[0.02 color rgb <0.95, 0.90, 0.85> ]
|
||||
[0.03 color rgb <0.75, 0.85, 0.80> ]
|
||||
[0.04 color rgb <0.45, 0.40, 0.50> ]
|
||||
[0.10 color Gray15 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.2
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.65
|
||||
rotate <0, 45, 60>
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.02 color rgb <0.95, 0.90, 0.85> ]
|
||||
[0.03 color rgb <0.75, 0.85, 0.80> ]
|
||||
[0.04 color rgb <0.45, 0.40, 0.50> ]
|
||||
[0.10 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare T_Stone32 =
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.3
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.45
|
||||
rotate <0, 5, 60>
|
||||
color_map {
|
||||
[0, 1 color rgb <0.9, 0.75, 0.75>
|
||||
color rgb <0.6, 0.6, 0.6> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.2
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.65
|
||||
rotate <0, 45, 60>
|
||||
color_map {
|
||||
[0.0, 0.9 color rgbt <0.52, 0.39, 0.39, 1.0>
|
||||
color rgbt <0.52, 0.39, 0.39, 0.5>]
|
||||
[0.9, 1.0 color rgbt <0.42, 0.14, 0.55, 0.0>
|
||||
color rgbt <0.42, 0.14, 0.55, 0.0>]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.2
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.15
|
||||
rotate <30, 30, 30>
|
||||
color_map {
|
||||
[0.00 color rgbt <0.95, 0.95, 0.95, 0.30> ]
|
||||
[0.03 color rgbt <0.85, 0.85, 0.85, 0.60> ]
|
||||
[0.06 color rgbt <0.50, 0.50, 0.50, 0.90> ]
|
||||
[0.10 color rgbt <1.00, 1.00, 1.00, 1.00> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare T_Stone33 =
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.3
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.45
|
||||
rotate <0, 5, 60>
|
||||
color_map {
|
||||
[0.0, 0.1 color rgb <0.0, 0.0, 0.0>
|
||||
color rgb <0.9, 0.7, 0.6>]
|
||||
[0.1, 0.3 color rgb <0.9, 0.7, 0.6>
|
||||
color rgb <0.9, 0.7, 0.4>]
|
||||
[0.3, 1.0 color rgb <0.9, 0.7, 0.4>
|
||||
color rgb <0.7, 0.4, 0.2>]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.2
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.65
|
||||
rotate <0, 45, 60>
|
||||
color_map {
|
||||
[0.0, 0.2 color rgbt <0.7, 0.4, 0.2, 0.20>
|
||||
color rgbt <0.9, 0.7, 0.6, 0.30>]
|
||||
[0.2, 0.3 color rgbt <0.9, 0.7, 0.6, 0.50>
|
||||
color rgbt <0.9, 0.7, 0.4, 0.70>]
|
||||
[0.3, 1.0 color rgbt <0.9, 0.7, 0.4, 0.80>
|
||||
color rgbt <0.7, 0.4, 0.2, 0.80>]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare T_Stone34 =
|
||||
texture {
|
||||
pigment {
|
||||
gradient x
|
||||
turbulence 0.75
|
||||
frequency 6
|
||||
scale 0.5
|
||||
rotate <0, -45, 30>
|
||||
color_map {
|
||||
[0.02 color rgbt <0.85, 0.85, 0.85, 0.0> ]
|
||||
[0.10 color rgbt <1.00, 1.00, 1.00, 0.0> ]
|
||||
[1.00 color rgbt <0.85, 0.85, 0.85, 0.0> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.3
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.45
|
||||
frequency 2
|
||||
phase 0.25
|
||||
rotate <0, 5, 60>
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.15 color rgbt <0.40, 0.30, 0.30, 0.50> ]
|
||||
[0.30 color rgbt <0.15, 0.08, 0.02, 0.00> ]
|
||||
[0.35 color rgbt <0.60, 0.40, 0.35, 0.50> ]
|
||||
[0.45 color rgbt <0.40, 0.35, 0.30, 0.60> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// White marble
|
||||
#declare T_Stone35 =
|
||||
texture {
|
||||
pigment {
|
||||
gradient x
|
||||
turbulence 0.75
|
||||
frequency 6
|
||||
scale 0.5
|
||||
rotate <0, -45, 30>
|
||||
color_map {
|
||||
[0.02 color rgbt <0.85, 0.85, 0.85, 0.0> ]
|
||||
[0.10 color rgbt <1.00, 1.00, 1.00, 0.0> ]
|
||||
[1.00 color rgbt <0.85, 0.85, 0.85, 0.0> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
crackle
|
||||
turbulence 0.3
|
||||
lambda 2.5
|
||||
omega 0.75
|
||||
octaves 5
|
||||
scale 0.45
|
||||
frequency 2
|
||||
phase 0.25
|
||||
rotate <0, 5, 60>
|
||||
color_map {
|
||||
[0.00 color Clear ]
|
||||
[0.15 color rgbt <0.40, 0.30, 0.30, 0.50> ]
|
||||
[0.30 color rgbt <0.15, 0.08, 0.02, 0.00> ]
|
||||
[0.35 color rgbt <0.60, 0.40, 0.35, 0.50> ]
|
||||
[0.45 color rgbt <0.40, 0.35, 0.30, 0.60> ]
|
||||
[0.65 color Clear ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Creamy coffee w/greenish-grey veins & faint avacado swirls
|
||||
#declare T_Stone36 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 0.815
|
||||
colour_map {
|
||||
[0.10 colour rgbt <0.43529, 0.49804, 0.32941,0.0>]
|
||||
[0.20 colour rgbt <0.19608, 0.27843, 0.19608,0.0>]
|
||||
[0.35 colour rgbt <0.43529, 0.49804, 0.32941,0.0>]
|
||||
[0.55 colour rgbt <0.45490, 0.44706, 0.20784,0.0>]
|
||||
[0.75 colour rgbt <0.43529, 0.49804, 0.32941,0.0>]
|
||||
[0.90 colour rgbt <0.19608, 0.22745, 0.00000,0.0>]
|
||||
[1.00 colour rgbt <0.43529, 0.49804, 0.32941,0.0>]
|
||||
}
|
||||
scale <0.85, 1.5, 0.5>
|
||||
rotate <10, 0, 40>
|
||||
}
|
||||
finish { brilliance 1.825 }
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 0.825
|
||||
colour_map {
|
||||
[0.18 colour rgbt <0.20784, 0.13333, 0.00000, 0.427>]
|
||||
[0.35 colour rgbt <0.20784, 0.13333, 0.00000, 0.735>]
|
||||
[0.45 colour rgbt <0.27059, 0.11373, 0.00000, 0.625>]
|
||||
[0.90 colour rgbt <0.27059, 0.11373, 0.00000, 0.875>]
|
||||
[1.00 colour rgbt <0.20784, 0.13333, 0.00000, 0.890>]
|
||||
}
|
||||
scale <0.65, 1.18, 0.34>
|
||||
rotate <5, 10, -55>
|
||||
}
|
||||
finish { ambient 0.275 diffuse 0.775 crand 0.01975 }
|
||||
}
|
||||
|
||||
// Olive greens w/lighter swirls & hints of salmon
|
||||
#declare T_Stone37 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 0.9
|
||||
colour_map {
|
||||
[0.18 colour rgbt <0.29020, 0.24706, 0.00000,0>]
|
||||
[0.35 colour rgbt <0.29020, 0.24706, 0.00000,0>]
|
||||
[0.45 colour rgbt <0.16471, 0.15294, 0.00000,0>]
|
||||
[0.90 colour rgbt <0.16471, 0.15294, 0.00000,0>]
|
||||
[1.00 colour rgbt <0.32941, 0.25882, 0.00000,0>]
|
||||
}
|
||||
scale <0.825, 1.7, 0.25>
|
||||
rotate <10,5,40>
|
||||
}
|
||||
finish { brilliance 2.5 }
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 0.85
|
||||
colour_map {
|
||||
[0.05 colour rgbt <0.86275, 0.65490, 0.40392, 0.6250>]
|
||||
[0.35 colour rgbt <0.48627, 0.16471, 0.00000, 0.8250>]
|
||||
[0.60 colour rgbt <0.86275, 0.65490, 0.40392, 0.7150>]
|
||||
[0.85 colour rgbt <0.48627, 0.16471, 0.00000, 0.5450>]
|
||||
[1.00 colour rgbt <0.52941, 0.34118, 0.17647, 0.8975>]
|
||||
}
|
||||
scale <0.85, 1.6, 0.45>
|
||||
rotate <0,5,-50>
|
||||
}
|
||||
finish { ambient 0.275 diffuse 0.6925 crand 0.01975}
|
||||
}
|
||||
|
||||
// Deep rich coffee w/darker veins & lots of creamy swirl
|
||||
#declare T_Stone38 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 1.25
|
||||
colour_map {
|
||||
[0.15 colour rgbt<0.72549, 0.73725, 0.54118, 0.0>]
|
||||
[0.25 colour rgbt<0.22745, 0.14510, 0.00000, 0.0>]
|
||||
[0.45 colour rgbt<0.72549, 0.73725, 0.54118, 0.0>]
|
||||
[0.60 colour rgbt<0.22745, 0.14510, 0.00000, 0.0>]
|
||||
[0.80 colour rgbt<0.22745, 0.14510, 0.00000, 0.0>]
|
||||
[1.00 colour rgbt<0.60392, 0.61176, 0.46667, 0.0>]
|
||||
}
|
||||
scale <0.95, 1.7, 0.39>
|
||||
rotate <10, 5, 40>
|
||||
}
|
||||
finish { brilliance 2.125 }
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 0.825
|
||||
colour_map {
|
||||
[0.35 colour rgbt <0.56078, 0.54902, 0.42353,0.65>]
|
||||
[0.65 colour rgbt <0.10196, 0.05882, 0.00000,0.85>]
|
||||
[1.00 colour rgbt <0.56078, 0.54902, 0.42353,0.90>]
|
||||
}
|
||||
scale <0.76, 1.4, 0.4>
|
||||
rotate <0, 10, -55>
|
||||
}
|
||||
finish { ambient 0.4 diffuse 0.575 crand 0.021 }
|
||||
}
|
||||
// Light mauve w/large plum swirls
|
||||
#declare T_Stone39 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 0.825
|
||||
colour_map {
|
||||
[0.12 colour rgbt <0.78039, 0.54902, 0.46667, 0.0>]
|
||||
[0.35 colour rgbt <0.78039, 0.54902, 0.46667, 0.0>]
|
||||
[0.65 colour rgbt <0.49804, 0.30980, 0.30196, 0.0>]
|
||||
[0.90 colour rgbt <0.49804, 0.30980, 0.30196, 0.0>]
|
||||
[1.00 colour rgbt <0.35294, 0.09020, 0.00000, 0.0>]
|
||||
}
|
||||
}
|
||||
scale <0.78,1.45, 0.4>
|
||||
rotate <5,10,-55>
|
||||
finish { brilliance 1.9275 ambient .3 diffuse .575 crand .0215}
|
||||
}
|
||||
|
||||
// Creamy aqua w/green hi-lites & subtle hints of grey
|
||||
#declare T_Stone40 =
|
||||
texture {
|
||||
pigment {
|
||||
agate
|
||||
agate_turb 1.1
|
||||
colour_map {
|
||||
[0.10 colour rgbt <0.56078, 0.67451, 0.62353, 0.0>]
|
||||
[0.35 colour rgbt <0.27843, 0.41569, 0.30196, 0.0>]
|
||||
[0.55 colour rgbt <0.56078, 0.67451, 0.62353, 0.0>]
|
||||
[0.85 colour rgbt <0.56078, 0.67451, 0.62353, 0.0>]
|
||||
[0.95 colour rgbt <0.27843, 0.41569, 0.30196, 0.0>]
|
||||
[1.00 colour rgbt <0.54118, 0.58039, 0.56078, 0.0>]
|
||||
}
|
||||
scale <0.97, 0.97, 0.5>
|
||||
rotate <0, 5, 40>
|
||||
}
|
||||
finish {brilliance 1.25}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 1.25
|
||||
colour_map {
|
||||
[0.15 colour rgbt <0.46667, 0.59216, 0.54118, 0.005>]
|
||||
[0.65 colour rgbt <0.35294, 0.67451, 0.54902, 0.750>]
|
||||
[0.80 colour rgbt <0.46667, 0.59216, 0.54118, 0.660>]
|
||||
[1.00 colour rgbt <0.35294, 0.67451, 0.54902, 0.879>]
|
||||
}
|
||||
scale <0.85, 1.5, 0.5>
|
||||
rotate <10, 5, -75>
|
||||
}
|
||||
finish { ambient 0.175 diffuse 0.6975 crand 0.025 }
|
||||
}
|
||||
|
||||
// Dark powder blue w/steel blue & grey swirls
|
||||
#declare T_Stone41 =
|
||||
texture {
|
||||
pigment {
|
||||
marble
|
||||
turbulence 1.5
|
||||
omega 0.6235
|
||||
lambda 2.25
|
||||
colour_map {
|
||||
[0.15 colour rgbt <0.03922, 0.20784, 0.52941, 0.0>]
|
||||
[0.45 colour rgbt <0.03922, 0.20784, 0.52941, 0.0>]
|
||||
[0.55 colour rgbt <0.22745, 0.23922, 0.42353, 0.0>]
|
||||
[0.75 colour rgbt <0.20784, 0.30980, 0.54118, 0.0>]
|
||||
[1.00 colour rgbt <0.20784, 0.30980, 0.54118, 0.0>]
|
||||
}
|
||||
rotate <0, 0, 85>
|
||||
scale <0.75, 1.33, 0.35>
|
||||
rotate <10, 5, 45>
|
||||
}
|
||||
finish { brilliance 1.825 }
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 1.15
|
||||
colour_map {
|
||||
[0.25 colour rgbt <0.30196, 0.35294, 0.48627, 0.600>]
|
||||
[0.45 colour rgbt <0.30196, 0.35294, 0.48627, 0.475>]
|
||||
[0.85 colour rgbt <0.17647, 0.24706, 0.39216, 0.715>]
|
||||
[1.00 colour rgbt <0.17647, 0.24706, 0.39216, 0.750>]
|
||||
}
|
||||
rotate <0,0,45>
|
||||
scale <0.78, 1.0, 0.4>
|
||||
rotate <5, 10, -55>
|
||||
}
|
||||
finish { ambient 0.225 diffuse 0.75 crand 0.01975}
|
||||
}
|
||||
|
||||
//Brick red w/yellow-green swirls
|
||||
#declare T_Stone42 =
|
||||
texture {
|
||||
pigment {
|
||||
onion
|
||||
turbulence 2.1
|
||||
omega 0.575
|
||||
colour_map {
|
||||
[0.15 colour rgbt<0.29020, 0.08235, 0.00000, 0.0>]
|
||||
[0.35 colour rgbt<0.34118, 0.29020, 0.09020, 0.0>]
|
||||
[0.65 colour rgbt<0.29020, 0.08235, 0.00000, 0.0>]
|
||||
[0.85 colour rgbt<0.34118, 0.29020, 0.09020, 0.0>]
|
||||
[1.00 colour rgbt<0.29020, 0.08235, 0.00000, 0.0>]
|
||||
}
|
||||
scale <0.9, 1.6, .45>
|
||||
rotate <10, 5, 45>
|
||||
}
|
||||
finish { brilliance 1.825 }
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 0.925
|
||||
colour_map {
|
||||
[0.25 colour rgbt<0.42353, 0.37255, 0.05882, 0.45>]
|
||||
[0.50 colour rgbt<0.18431, 0.01569, 0.00000, 0.55>]
|
||||
[0.72 colour rgbt<0.42353, 0.37255, 0.05882, 0.55>]
|
||||
[1.00 colour rgbt<0.18431, 0.01569, 0.00000, 0.65>]
|
||||
}
|
||||
rotate <5, 15, 90>
|
||||
scale <0.78, 1.05, 0.4>
|
||||
rotate <5, 10, -55>
|
||||
}
|
||||
finish { ambient 0.225 diffuse 0.75 crand 0.01975 }
|
||||
}
|
||||
|
||||
// Rusty red w/cream swirls and duck overtones
|
||||
#declare T_Stone43 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
turbulence 0.815
|
||||
colour_map {
|
||||
[0.15 colour rgbt<0.86275, 0.75686, 0.61176, 0.0>]
|
||||
[0.45 colour rgbt<0.49804, 0.21569, 0.03922, 0.0>]
|
||||
[0.65 colour rgbt<0.84314, 0.72157, 0.63529, 0.0>]
|
||||
[0.85 colour rgbt<0.46667, 0.23922, 0.05098, 0.0>]
|
||||
[1.00 colour rgbt<0.87059, 0.73725, 0.62745, 0.0>]
|
||||
}
|
||||
scale <0.87, 1.235, 0.47>
|
||||
rotate <15, 25, 45>
|
||||
}
|
||||
finish {brilliance 2.585}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
agate
|
||||
agate_turb 1.275
|
||||
colour_map {
|
||||
[0.35 colour rgbt<0.42353, 0.12157, 0.01176, 0.650>]
|
||||
[0.65 colour rgbt<0.50196, 0.35294, 0.21176, 0.750>]
|
||||
[1.00 colour rgbt<0.41569, 0.20784, 0.02745, 0.550>]
|
||||
}
|
||||
scale <0.69,1.27, 0.35>
|
||||
rotate <10, 5, -60>
|
||||
}
|
||||
finish { ambient 0.225 diffuse 0.6975 crand 0.02175 }
|
||||
}
|
||||
|
||||
// This one is quite different from the rest.
|
||||
// Its a dark, dull, bumpy rock texture.
|
||||
#declare T_Stone44 =
|
||||
texture {
|
||||
pigment {
|
||||
granite
|
||||
color_map {
|
||||
[0.0 rgb 0.3 ]
|
||||
[1.0 rgb 0.7 ]
|
||||
}
|
||||
scale 0.075
|
||||
}
|
||||
normal { granite 0.75 scale 0.075 }
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
wrinkles
|
||||
turbulence 0.3
|
||||
scale 0.3
|
||||
color_map {
|
||||
[0.0 rgbt< 0.50, 0.25, 0.10, 0.85>]
|
||||
[1.0 rgbt< 0.65, 0.40, 0.00, 0.65>]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#version Stones2_Inc_Temp;
|
||||
#end
|
||||
86
distribution/include/strings.inc
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: strings.inc
|
||||
// Last updated: 2001.8.9
|
||||
// Description: This file contains various macros for manipulating strings.
|
||||
|
||||
#ifndef(STRINGS_INC_TEMP)
|
||||
#declare STRINGS_INC_TEMP = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including strings.inc\n"
|
||||
#end
|
||||
|
||||
//converts a color to a string, with filter and transmit
|
||||
#macro CRGBFTStr(C, MinLen, Padding)
|
||||
concat( "color rgbft < ", str(C.red, MinLen, Padding),
|
||||
", ", str(C.green, MinLen, Padding),
|
||||
", ", str(C.blue, MinLen, Padding),
|
||||
", ", str(C.filter, MinLen, Padding),
|
||||
", ", str(C.transmit, MinLen, Padding), ">")
|
||||
#end
|
||||
|
||||
//converts a color to a string, without filter and transmit
|
||||
#macro CRGBStr(C, MinLen, Padding)
|
||||
concat( "color rgb < ", str(C.red, MinLen, Padding),
|
||||
", ", str(C.green, MinLen, Padding),
|
||||
", ", str(C.blue, MinLen, Padding), ">")
|
||||
#end
|
||||
|
||||
#macro Parse_String(String)
|
||||
#fopen FOut "parse_string.tmp" write
|
||||
#write(FOut,String)
|
||||
#fclose FOut
|
||||
#include "parse_string.tmp"
|
||||
#end
|
||||
|
||||
//just a shortcut for using str() with system-defined precision and length.
|
||||
#macro Str(A)
|
||||
str(A, 0,-1)
|
||||
#end
|
||||
|
||||
//just a shortcut for using vstr()
|
||||
//"Str" is with capitalized "S" to match the Str() macro
|
||||
//above which also has system-defined precision and length.
|
||||
#macro VStr2D(V)
|
||||
concat("<", vstr(2, V, ",", 0,-1), ">")
|
||||
#end
|
||||
#macro VStr(V)
|
||||
concat("<", vstr(3, V, ",", 0,-1), ">")
|
||||
#end
|
||||
|
||||
//Another shortcut for using vstr(),
|
||||
//this one with user specified precision and length.
|
||||
//"str" is with non-capitalized "s" to match the str() function
|
||||
//in POV-Ray which also has user-specified precision and length.
|
||||
#macro Vstr2D(V,L,P)
|
||||
concat("<", vstr(2, V, ",", L,P), ">")
|
||||
#end
|
||||
#macro Vstr(V,L,P)
|
||||
concat("<", vstr(3, V, ",", L,P), ">")
|
||||
#end
|
||||
|
||||
//Macros used to generate strings with mesh syntax.
|
||||
//Can be used with the IO features to write a mesh to an external file.
|
||||
#macro Triangle_Str(A, B, C)
|
||||
concat("triangle {<", vstr(3, A, ",", 0,-1), ">,<",
|
||||
vstr(3, B, ",", 0,-1), ">,<",
|
||||
vstr(3, C, ",", 0,-1), ">}")
|
||||
#end
|
||||
#macro Smooth_Triangle_Str(A, NA, B, NB, C, NC)
|
||||
concat("smooth_triangle {<", vstr(3, A, ",", 0,-1), ">,<",
|
||||
vstr(3, NA, ",", 0,-1), ">,<",
|
||||
vstr(3, B, ",", 0,-1), ">,<",
|
||||
vstr(3, NB, ",", 0,-1), ">,<",
|
||||
vstr(3, C, ",", 0,-1), ">,<",
|
||||
vstr(3, NC, ",", 0,-1), ">}")
|
||||
#end
|
||||
|
||||
|
||||
#version STRINGS_INC_TEMP;
|
||||
#end//strings.inc
|
||||
|
||||
134
distribution/include/sunpos.inc
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer Scene Include File
|
||||
// File: sunpos.inc
|
||||
// Desc: This macro returns the suns position,
|
||||
// on a given date, time, and location on earth.
|
||||
// Date: 15-09-1998
|
||||
// Updated : 2001-07-27
|
||||
// Auth: Ingo Janssen
|
||||
//
|
||||
|
||||
#ifndef(SunPos_Inc_Temp)
|
||||
#declare SunPos_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
//
|
||||
// ======================================================
|
||||
//
|
||||
// Assumption: in the scene north is in the +Z direction, south is -Z.
|
||||
//
|
||||
// Invoke in your scene:
|
||||
// light_source {
|
||||
// SunPos(Year, Month, Day, Hour, Minute, Lstm, LAT, LONG)
|
||||
// rgb 1
|
||||
// }
|
||||
//
|
||||
// Greenwich, noon on the longest day of 2000 (no daylight saving):
|
||||
// SunPos(2000, 6, 21, 12, 2, 0, 51.4667, 0.00)
|
||||
//
|
||||
// Year: in four digits
|
||||
// Month: number
|
||||
// Dat: number
|
||||
// Time: in 24 hour format
|
||||
// Lstm: Meridian of your local timezone (+1 hour = +15 deg)
|
||||
// in degrees (east = positive, west = negative)
|
||||
// Location on earth:
|
||||
// LAT: Lattitude in degrees.decimal, northern hemisphere = positive, southern = negative
|
||||
// LONG: Longitude in degrees.decimal, east = positive, west is negative
|
||||
//
|
||||
// The macro returns the position of the sun, but also declares it as the vector SolarPosition.
|
||||
// Also the found Azimuth (Az) and Altitude (Al) are declared, this can be usefull for
|
||||
// aligning an object with the sunlight: cylinder{
|
||||
// <-2,0,0>,<2,0,0>,0.1
|
||||
// rotate <0, Az-90, Al>
|
||||
// texture {.. LightRay ..}
|
||||
// }
|
||||
//
|
||||
// ======================================================
|
||||
//
|
||||
// Find your local position at http://gnpswww.nima.mil/geonames/GNS/ (Gazetteer search)
|
||||
//
|
||||
// Local time(zone) at http://www.hilink.com.au/times/
|
||||
//
|
||||
// Equations used here can be found at http://hotel04.ausys.se/pausch/english.htm (Computing rise/set times)
|
||||
// not only for the sun but also for the moon, planets and other stuff up there.
|
||||
//
|
||||
// ======================================================
|
||||
//
|
||||
|
||||
#macro SunPos(Year, Month, Day, Hour, Minute, Lstm, LAT, LONG)
|
||||
|
||||
#if (abs(LONG-Lstm)>30)
|
||||
#debug "\nREMARK: \nLongitude differs by more than 30 degrees from timezone meridian.\n"
|
||||
#debug concat("Local timezone meridian is:",str(Lstm,5,0),"\n")
|
||||
#debug concat("Longitude is:",str(LONG,5,0),"\n")
|
||||
#end
|
||||
|
||||
// Calculate universal time (UT)
|
||||
#local T= Hour+(Minute/60);
|
||||
#local UT= T-Lstm/15;
|
||||
#if (0>UT)
|
||||
#local Day= Day-1;
|
||||
#local UT= 24+UT;
|
||||
#end
|
||||
#if (UT>24)
|
||||
#local Day= Day+1;
|
||||
#local UT= UT-24;
|
||||
#end
|
||||
|
||||
// Amount of days to, or from, the year 2000
|
||||
#local d= 367*Year-int((7*int((Year+int((Month+9))/12)))/4)+int((275*Month)/9)+Day-730530+UT/24;
|
||||
|
||||
// Longitude of perihelion (w), eccentricity (e)
|
||||
#local w= 282.9404+4.70935E-5*d;
|
||||
#local e= 0.016709-1.151E-9*d;
|
||||
|
||||
// Mean anomaly (M), sun's mean longitude (L)
|
||||
#local M= 356.0470+0.9856002585*d;
|
||||
#if (0<M<360)
|
||||
#local M= M-floor(M/360)*360;
|
||||
#end
|
||||
#local L= w+M;
|
||||
#if (0<L<360)
|
||||
#local L= L-floor(L/360)*360;
|
||||
#end
|
||||
|
||||
// Obliquity of the ecliptic, eccentric anomaly (E)
|
||||
#local oblecl= 23.4393-3.563E-7*d;
|
||||
#local E= M+(180/pi)*e*sin(radians(M))*(1+e*cos(radians(M)));
|
||||
|
||||
// Sun's rectangular coordinates in the plane of ecliptic (A,B)
|
||||
#local A= cos(radians(E))-e;
|
||||
#local B= sin(radians(E))*sqrt(1-e*e);
|
||||
|
||||
// Distance (r), true anomaly (V), longitude of the sun (lon)
|
||||
#local r= sqrt(A*A+B*B);
|
||||
#local V= degrees(atan2(radians(B),radians(A)));
|
||||
#local lon= V+w;
|
||||
#if (0<lon<360)
|
||||
#local lon= lon-floor(lon/360)*360;
|
||||
#end
|
||||
|
||||
// Calculate declination (Decl) and right ascension (RA)
|
||||
#local Decl= degrees(asin(sin(radians(oblecl))*sin(radians(lon))));
|
||||
#local RA= degrees(atan2(sin(radians(lon))*cos(radians(oblecl)),cos(radians(lon))))/15;
|
||||
|
||||
// Greenwich meridian siderial time at 00:00 (GMST0),siderial time (SIDTIME), hour angle (HA)
|
||||
#local GMST0= L/15+12;
|
||||
#local SIDTIME= GMST0+UT+LONG/15;
|
||||
#local HA= (SIDTIME-RA)*15;
|
||||
|
||||
// This is what we're looking for: Altitude & Azimuth
|
||||
#declare Al= degrees(asin(sin(radians(LAT))*sin(radians(Decl))+cos(radians(LAT))*cos(radians(Decl))*cos(radians(HA))));
|
||||
#declare Az= degrees(atan2(sin(radians(HA)),cos(radians(HA))*sin(radians(LAT))-tan(radians(Decl))*cos(radians(LAT))))+180;
|
||||
|
||||
#declare SolarPosition=vrotate(<0,0,1000000000>,<-Al,Az,0>);
|
||||
(SolarPosition)
|
||||
|
||||
#end
|
||||
|
||||
#version SunPos_Inc_Temp;
|
||||
#end
|
||||
266
distribution/include/teak.map
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
#declare Teak_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
Teakwood color_map
|
||||
*/
|
||||
|
||||
#declare M_Teak =
|
||||
color_map {
|
||||
[0.000000 rgb <0.172549, 0.078431, 0.062745>]
|
||||
[0.003922 rgb <0.172549, 0.094118, 0.047059>]
|
||||
[0.007843 rgb <0.172549, 0.094118, 0.062745>]
|
||||
[0.011765 rgb <0.188235, 0.094118, 0.047059>]
|
||||
[0.015686 rgb <0.188235, 0.094118, 0.062745>]
|
||||
[0.019608 rgb <0.188235, 0.109804, 0.047059>]
|
||||
[0.023529 rgb <0.188235, 0.109804, 0.062745>]
|
||||
[0.027451 rgb <0.188235, 0.109804, 0.078431>]
|
||||
[0.031373 rgb <0.203922, 0.094118, 0.031373>]
|
||||
[0.035294 rgb <0.203922, 0.094118, 0.047059>]
|
||||
[0.039216 rgb <0.203922, 0.094118, 0.062745>]
|
||||
[0.043137 rgb <0.203922, 0.094118, 0.078431>]
|
||||
[0.047059 rgb <0.203922, 0.109804, 0.047059>]
|
||||
[0.050980 rgb <0.203922, 0.109804, 0.062745>]
|
||||
[0.054902 rgb <0.203922, 0.109804, 0.078431>]
|
||||
[0.058824 rgb <0.203922, 0.125490, 0.047059>]
|
||||
[0.062745 rgb <0.203922, 0.125490, 0.062745>]
|
||||
[0.066667 rgb <0.203922, 0.125490, 0.078431>]
|
||||
[0.070588 rgb <0.219608, 0.094118, 0.031373>]
|
||||
[0.074510 rgb <0.219608, 0.094118, 0.047059>]
|
||||
[0.078431 rgb <0.219608, 0.094118, 0.062745>]
|
||||
[0.082353 rgb <0.219608, 0.109804, 0.047059>]
|
||||
[0.086275 rgb <0.219608, 0.109804, 0.062745>]
|
||||
[0.090196 rgb <0.219608, 0.109804, 0.078431>]
|
||||
[0.094118 rgb <0.219608, 0.125490, 0.047059>]
|
||||
[0.098039 rgb <0.219608, 0.125490, 0.062745>]
|
||||
[0.101961 rgb <0.219608, 0.125490, 0.078431>]
|
||||
[0.105882 rgb <0.219608, 0.125490, 0.094118>]
|
||||
[0.109804 rgb <0.219608, 0.141176, 0.078431>]
|
||||
[0.113725 rgb <0.219608, 0.141176, 0.094118>]
|
||||
[0.117647 rgb <0.219608, 0.141176, 0.109804>]
|
||||
[0.121569 rgb <0.219608, 0.156863, 0.141176>]
|
||||
[0.125490 rgb <0.219608, 0.172549, 0.141176>]
|
||||
[0.129412 rgb <0.219608, 0.172549, 0.156863>]
|
||||
[0.133333 rgb <0.219608, 0.188235, 0.156863>]
|
||||
[0.137255 rgb <0.235294, 0.094118, 0.047059>]
|
||||
[0.141176 rgb <0.235294, 0.109804, 0.031373>]
|
||||
[0.145098 rgb <0.235294, 0.109804, 0.047059>]
|
||||
[0.149020 rgb <0.235294, 0.109804, 0.062745>]
|
||||
[0.152941 rgb <0.235294, 0.109804, 0.078431>]
|
||||
[0.156863 rgb <0.235294, 0.109804, 0.094118>]
|
||||
[0.160784 rgb <0.235294, 0.125490, 0.047059>]
|
||||
[0.164706 rgb <0.235294, 0.125490, 0.062745>]
|
||||
[0.168627 rgb <0.235294, 0.125490, 0.078431>]
|
||||
[0.172549 rgb <0.235294, 0.125490, 0.094118>]
|
||||
[0.176471 rgb <0.235294, 0.141176, 0.062745>]
|
||||
[0.180392 rgb <0.235294, 0.141176, 0.078431>]
|
||||
[0.184314 rgb <0.235294, 0.141176, 0.094118>]
|
||||
[0.188235 rgb <0.235294, 0.141176, 0.109804>]
|
||||
[0.192157 rgb <0.235294, 0.172549, 0.156863>]
|
||||
[0.196078 rgb <0.250980, 0.109804, 0.031373>]
|
||||
[0.200000 rgb <0.250980, 0.109804, 0.047059>]
|
||||
[0.203922 rgb <0.250980, 0.109804, 0.062745>]
|
||||
[0.207843 rgb <0.250980, 0.109804, 0.078431>]
|
||||
[0.211765 rgb <0.250980, 0.125490, 0.031373>]
|
||||
[0.215686 rgb <0.250980, 0.125490, 0.047059>]
|
||||
[0.219608 rgb <0.250980, 0.125490, 0.062745>]
|
||||
[0.223529 rgb <0.250980, 0.125490, 0.078431>]
|
||||
[0.227451 rgb <0.250980, 0.125490, 0.094118>]
|
||||
[0.231373 rgb <0.250980, 0.141176, 0.047059>]
|
||||
[0.235294 rgb <0.250980, 0.141176, 0.062745>]
|
||||
[0.239216 rgb <0.250980, 0.141176, 0.078431>]
|
||||
[0.243137 rgb <0.250980, 0.141176, 0.094118>]
|
||||
[0.247059 rgb <0.250980, 0.141176, 0.109804>]
|
||||
[0.250980 rgb <0.250980, 0.156863, 0.062745>]
|
||||
[0.254902 rgb <0.250980, 0.156863, 0.078431>]
|
||||
[0.258824 rgb <0.250980, 0.156863, 0.094118>]
|
||||
[0.262745 rgb <0.250980, 0.172549, 0.141176>]
|
||||
[0.266667 rgb <0.250980, 0.188235, 0.172549>]
|
||||
[0.270588 rgb <0.266667, 0.109804, 0.047059>]
|
||||
[0.274510 rgb <0.266667, 0.109804, 0.062745>]
|
||||
[0.278431 rgb <0.266667, 0.109804, 0.078431>]
|
||||
[0.282353 rgb <0.266667, 0.125490, 0.031373>]
|
||||
[0.286275 rgb <0.266667, 0.125490, 0.047059>]
|
||||
[0.290196 rgb <0.266667, 0.125490, 0.062745>]
|
||||
[0.294118 rgb <0.266667, 0.125490, 0.078431>]
|
||||
[0.298039 rgb <0.266667, 0.125490, 0.094118>]
|
||||
[0.301961 rgb <0.266667, 0.141176, 0.047059>]
|
||||
[0.305882 rgb <0.266667, 0.141176, 0.062745>]
|
||||
[0.309804 rgb <0.266667, 0.141176, 0.078431>]
|
||||
[0.313726 rgb <0.266667, 0.141176, 0.094118>]
|
||||
[0.317647 rgb <0.266667, 0.141176, 0.109804>]
|
||||
[0.321569 rgb <0.266667, 0.156863, 0.062745>]
|
||||
[0.325490 rgb <0.266667, 0.156863, 0.078431>]
|
||||
[0.329412 rgb <0.266667, 0.156863, 0.094118>]
|
||||
[0.333333 rgb <0.266667, 0.156863, 0.109804>]
|
||||
[0.337255 rgb <0.266667, 0.156863, 0.125490>]
|
||||
[0.341176 rgb <0.266667, 0.172549, 0.078431>]
|
||||
[0.345098 rgb <0.266667, 0.172549, 0.094118>]
|
||||
[0.349020 rgb <0.266667, 0.188235, 0.141176>]
|
||||
[0.352941 rgb <0.266667, 0.188235, 0.156863>]
|
||||
[0.356863 rgb <0.282353, 0.125490, 0.047059>]
|
||||
[0.360784 rgb <0.282353, 0.125490, 0.062745>]
|
||||
[0.364706 rgb <0.282353, 0.125490, 0.078431>]
|
||||
[0.368627 rgb <0.282353, 0.125490, 0.094118>]
|
||||
[0.372549 rgb <0.282353, 0.125490, 0.109804>]
|
||||
[0.376471 rgb <0.282353, 0.141176, 0.047059>]
|
||||
[0.380392 rgb <0.282353, 0.141176, 0.062745>]
|
||||
[0.384314 rgb <0.282353, 0.141176, 0.078431>]
|
||||
[0.388235 rgb <0.282353, 0.141176, 0.094118>]
|
||||
[0.392157 rgb <0.282353, 0.141176, 0.109804>]
|
||||
[0.396078 rgb <0.282353, 0.141176, 0.141176>]
|
||||
[0.400000 rgb <0.282353, 0.156863, 0.062745>]
|
||||
[0.403922 rgb <0.282353, 0.156863, 0.078431>]
|
||||
[0.407843 rgb <0.282353, 0.156863, 0.094118>]
|
||||
[0.411765 rgb <0.282353, 0.156863, 0.109804>]
|
||||
[0.415686 rgb <0.282353, 0.156863, 0.125490>]
|
||||
[0.419608 rgb <0.282353, 0.172549, 0.062745>]
|
||||
[0.423529 rgb <0.282353, 0.172549, 0.078431>]
|
||||
[0.427451 rgb <0.282353, 0.172549, 0.094118>]
|
||||
[0.431373 rgb <0.282353, 0.172549, 0.109804>]
|
||||
[0.435294 rgb <0.282353, 0.172549, 0.125490>]
|
||||
[0.439216 rgb <0.282353, 0.188235, 0.125490>]
|
||||
[0.443137 rgb <0.282353, 0.188235, 0.141176>]
|
||||
[0.447059 rgb <0.282353, 0.188235, 0.156863>]
|
||||
[0.450980 rgb <0.298039, 0.125490, 0.047059>]
|
||||
[0.454902 rgb <0.298039, 0.125490, 0.062745>]
|
||||
[0.458824 rgb <0.298039, 0.125490, 0.078431>]
|
||||
[0.462745 rgb <0.298039, 0.141176, 0.047059>]
|
||||
[0.466667 rgb <0.298039, 0.141176, 0.062745>]
|
||||
[0.470588 rgb <0.298039, 0.141176, 0.078431>]
|
||||
[0.474510 rgb <0.298039, 0.141176, 0.094118>]
|
||||
[0.478431 rgb <0.298039, 0.141176, 0.109804>]
|
||||
[0.482353 rgb <0.298039, 0.141176, 0.125490>]
|
||||
[0.486275 rgb <0.298039, 0.141176, 0.141176>]
|
||||
[0.490196 rgb <0.298039, 0.156863, 0.062745>]
|
||||
[0.494118 rgb <0.298039, 0.156863, 0.078431>]
|
||||
[0.498039 rgb <0.298039, 0.156863, 0.094118>]
|
||||
[0.501961 rgb <0.298039, 0.156863, 0.109804>]
|
||||
[0.505882 rgb <0.298039, 0.156863, 0.125490>]
|
||||
[0.509804 rgb <0.298039, 0.172549, 0.062745>]
|
||||
[0.513726 rgb <0.298039, 0.172549, 0.078431>]
|
||||
[0.517647 rgb <0.298039, 0.172549, 0.094118>]
|
||||
[0.521569 rgb <0.298039, 0.172549, 0.109804>]
|
||||
[0.525490 rgb <0.298039, 0.172549, 0.125490>]
|
||||
[0.529412 rgb <0.298039, 0.188235, 0.094118>]
|
||||
[0.533333 rgb <0.298039, 0.188235, 0.109804>]
|
||||
[0.537255 rgb <0.298039, 0.188235, 0.125490>]
|
||||
[0.541176 rgb <0.298039, 0.188235, 0.141176>]
|
||||
[0.545098 rgb <0.298039, 0.203922, 0.141176>]
|
||||
[0.549020 rgb <0.298039, 0.203922, 0.156863>]
|
||||
[0.552941 rgb <0.313726, 0.141176, 0.047059>]
|
||||
[0.556863 rgb <0.313726, 0.141176, 0.062745>]
|
||||
[0.560784 rgb <0.313726, 0.141176, 0.078431>]
|
||||
[0.564706 rgb <0.313726, 0.141176, 0.094118>]
|
||||
[0.568627 rgb <0.313726, 0.156863, 0.047059>]
|
||||
[0.572549 rgb <0.313726, 0.156863, 0.062745>]
|
||||
[0.576471 rgb <0.313726, 0.156863, 0.078431>]
|
||||
[0.580392 rgb <0.313726, 0.156863, 0.094118>]
|
||||
[0.584314 rgb <0.313726, 0.156863, 0.109804>]
|
||||
[0.588235 rgb <0.313726, 0.156863, 0.125490>]
|
||||
[0.592157 rgb <0.313726, 0.156863, 0.141176>]
|
||||
[0.596078 rgb <0.313726, 0.172549, 0.062745>]
|
||||
[0.600000 rgb <0.313726, 0.172549, 0.078431>]
|
||||
[0.603922 rgb <0.313726, 0.172549, 0.094118>]
|
||||
[0.607843 rgb <0.313726, 0.172549, 0.109804>]
|
||||
[0.611765 rgb <0.313726, 0.172549, 0.141176>]
|
||||
[0.615686 rgb <0.313726, 0.188235, 0.062745>]
|
||||
[0.619608 rgb <0.313726, 0.188235, 0.094118>]
|
||||
[0.623529 rgb <0.313726, 0.188235, 0.125490>]
|
||||
[0.627451 rgb <0.313726, 0.203922, 0.141176>]
|
||||
[0.631373 rgb <0.329412, 0.141176, 0.062745>]
|
||||
[0.635294 rgb <0.329412, 0.156863, 0.078431>]
|
||||
[0.639216 rgb <0.329412, 0.156863, 0.109804>]
|
||||
[0.643137 rgb <0.329412, 0.172549, 0.062745>]
|
||||
[0.647059 rgb <0.329412, 0.172549, 0.094118>]
|
||||
[0.650980 rgb <0.329412, 0.172549, 0.125490>]
|
||||
[0.654902 rgb <0.329412, 0.188235, 0.078431>]
|
||||
[0.658824 rgb <0.329412, 0.188235, 0.109804>]
|
||||
[0.662745 rgb <0.329412, 0.188235, 0.141176>]
|
||||
[0.666667 rgb <0.329412, 0.203922, 0.094118>]
|
||||
[0.670588 rgb <0.329412, 0.203922, 0.125490>]
|
||||
[0.674510 rgb <0.329412, 0.203922, 0.156863>]
|
||||
[0.678431 rgb <0.329412, 0.219608, 0.141176>]
|
||||
[0.682353 rgb <0.345098, 0.156863, 0.062745>]
|
||||
[0.686275 rgb <0.345098, 0.156863, 0.094118>]
|
||||
[0.690196 rgb <0.345098, 0.172549, 0.078431>]
|
||||
[0.694118 rgb <0.345098, 0.172549, 0.109804>]
|
||||
[0.698039 rgb <0.345098, 0.172549, 0.141176>]
|
||||
[0.701961 rgb <0.345098, 0.188235, 0.094118>]
|
||||
[0.705882 rgb <0.345098, 0.188235, 0.125490>]
|
||||
[0.709804 rgb <0.345098, 0.203922, 0.078431>]
|
||||
[0.713726 rgb <0.345098, 0.203922, 0.109804>]
|
||||
[0.717647 rgb <0.345098, 0.203922, 0.141176>]
|
||||
[0.721569 rgb <0.345098, 0.219608, 0.094118>]
|
||||
[0.725490 rgb <0.345098, 0.219608, 0.156863>]
|
||||
[0.729412 rgb <0.345098, 0.235294, 0.172549>]
|
||||
[0.733333 rgb <0.360784, 0.156863, 0.078431>]
|
||||
[0.737255 rgb <0.360784, 0.172549, 0.062745>]
|
||||
[0.741176 rgb <0.360784, 0.172549, 0.094118>]
|
||||
[0.745098 rgb <0.360784, 0.172549, 0.125490>]
|
||||
[0.749020 rgb <0.360784, 0.172549, 0.156863>]
|
||||
[0.752941 rgb <0.360784, 0.188235, 0.078431>]
|
||||
[0.756863 rgb <0.360784, 0.188235, 0.109804>]
|
||||
[0.760784 rgb <0.360784, 0.188235, 0.141176>]
|
||||
[0.764706 rgb <0.360784, 0.203922, 0.094118>]
|
||||
[0.768627 rgb <0.360784, 0.203922, 0.125490>]
|
||||
[0.772549 rgb <0.360784, 0.219608, 0.109804>]
|
||||
[0.776471 rgb <0.360784, 0.219608, 0.141176>]
|
||||
[0.780392 rgb <0.360784, 0.235294, 0.156863>]
|
||||
[0.784314 rgb <0.376471, 0.172549, 0.078431>]
|
||||
[0.788235 rgb <0.376471, 0.172549, 0.109804>]
|
||||
[0.792157 rgb <0.376471, 0.172549, 0.141176>]
|
||||
[0.796078 rgb <0.376471, 0.188235, 0.094118>]
|
||||
[0.800000 rgb <0.376471, 0.188235, 0.125490>]
|
||||
[0.803922 rgb <0.376471, 0.203922, 0.078431>]
|
||||
[0.807843 rgb <0.376471, 0.203922, 0.109804>]
|
||||
[0.811765 rgb <0.376471, 0.203922, 0.141176>]
|
||||
[0.815686 rgb <0.376471, 0.219608, 0.094118>]
|
||||
[0.819608 rgb <0.376471, 0.219608, 0.125490>]
|
||||
[0.823529 rgb <0.376471, 0.219608, 0.156863>]
|
||||
[0.827451 rgb <0.376471, 0.235294, 0.141176>]
|
||||
[0.831373 rgb <0.392157, 0.172549, 0.062745>]
|
||||
[0.835294 rgb <0.392157, 0.172549, 0.094118>]
|
||||
[0.839216 rgb <0.392157, 0.188235, 0.078431>]
|
||||
[0.843137 rgb <0.392157, 0.188235, 0.109804>]
|
||||
[0.847059 rgb <0.392157, 0.203922, 0.094118>]
|
||||
[0.850980 rgb <0.392157, 0.203922, 0.125490>]
|
||||
[0.854902 rgb <0.392157, 0.203922, 0.156863>]
|
||||
[0.858824 rgb <0.392157, 0.219608, 0.109804>]
|
||||
[0.862745 rgb <0.392157, 0.219608, 0.141176>]
|
||||
[0.866667 rgb <0.392157, 0.235294, 0.125490>]
|
||||
[0.870588 rgb <0.392157, 0.235294, 0.156863>]
|
||||
[0.874510 rgb <0.407843, 0.188235, 0.094118>]
|
||||
[0.878431 rgb <0.407843, 0.188235, 0.125490>]
|
||||
[0.882353 rgb <0.407843, 0.203922, 0.109804>]
|
||||
[0.886275 rgb <0.407843, 0.219608, 0.094118>]
|
||||
[0.890196 rgb <0.407843, 0.219608, 0.125490>]
|
||||
[0.894118 rgb <0.407843, 0.235294, 0.109804>]
|
||||
[0.898039 rgb <0.407843, 0.235294, 0.141176>]
|
||||
[0.901961 rgb <0.407843, 0.250980, 0.125490>]
|
||||
[0.905882 rgb <0.407843, 0.250980, 0.156863>]
|
||||
[0.909804 rgb <0.423529, 0.203922, 0.094118>]
|
||||
[0.913725 rgb <0.423529, 0.203922, 0.125490>]
|
||||
[0.917647 rgb <0.423529, 0.219608, 0.109804>]
|
||||
[0.921569 rgb <0.423529, 0.219608, 0.141176>]
|
||||
[0.925490 rgb <0.423529, 0.235294, 0.125490>]
|
||||
[0.929412 rgb <0.423529, 0.235294, 0.156863>]
|
||||
[0.933333 rgb <0.423529, 0.250980, 0.141176>]
|
||||
[0.937255 rgb <0.423529, 0.298039, 0.203922>]
|
||||
[0.941176 rgb <0.439216, 0.219608, 0.094118>]
|
||||
[0.945098 rgb <0.439216, 0.219608, 0.125490>]
|
||||
[0.949020 rgb <0.439216, 0.235294, 0.109804>]
|
||||
[0.952941 rgb <0.439216, 0.235294, 0.141176>]
|
||||
[0.956863 rgb <0.439216, 0.250980, 0.125490>]
|
||||
[0.960784 rgb <0.439216, 0.250980, 0.156863>]
|
||||
[0.964706 rgb <0.439216, 0.266667, 0.172549>]
|
||||
[0.968627 rgb <0.454902, 0.235294, 0.125490>]
|
||||
[0.972549 rgb <0.454902, 0.250980, 0.141176>]
|
||||
[0.976471 rgb <0.454902, 0.282353, 0.156863>]
|
||||
[0.980392 rgb <0.470588, 0.235294, 0.141176>]
|
||||
[0.984314 rgb <0.470588, 0.250980, 0.125490>]
|
||||
[0.988235 rgb <0.470588, 0.266667, 0.141176>]
|
||||
[0.992157 rgb <0.470588, 0.282353, 0.172549>]
|
||||
[0.996078 rgb <0.486275, 0.282353, 0.203922>]
|
||||
}
|
||||
#version Teak_Inc_Temp;
|
||||
BIN
distribution/include/test.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
1475
distribution/include/textures.inc
Normal file
BIN
distribution/include/timrom.ttf
Normal file
221
distribution/include/transforms.inc
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: transforms.inc
|
||||
// Last updated: 2001.8.9
|
||||
// Description: Macros for dealing with transforms
|
||||
|
||||
#ifndef(TRANSFORMS_INC_TEMP)
|
||||
#declare TRANSFORMS_INC_TEMP = version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including transforms.inc\n"
|
||||
#end
|
||||
|
||||
#include "math.inc"
|
||||
|
||||
// --------------------
|
||||
// Transformation macros:
|
||||
// --------------------
|
||||
// Reorients and deforms object so original x axis points along A, original y along B,
|
||||
// and original z along C.
|
||||
#macro Shear_Trans(A, B, C)
|
||||
transform {
|
||||
matrix < A.x, A.y, A.z,
|
||||
B.x, B.y, B.z,
|
||||
C.x, C.y, C.z,
|
||||
0, 0, 0>
|
||||
}
|
||||
#end
|
||||
|
||||
#macro Matrix_Trans(A, B, C, D)
|
||||
transform {
|
||||
matrix < A.x, A.y, A.z,
|
||||
B.x, B.y, B.z,
|
||||
C.x, C.y, C.z,
|
||||
D.x, D.y, D.z>
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
// "stretch" along a specific axis
|
||||
#macro Axial_Scale_Trans(Axis, Amt)
|
||||
transform {
|
||||
transform {Point_At_Trans(Axis) inverse}
|
||||
scale <1,Amt,1>
|
||||
Point_At_Trans(Axis)
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
// rotate around a specific axis
|
||||
// Author: Rune S. Johansen
|
||||
#macro Axis_Rotate_Trans(Axis, Angle)
|
||||
#local vX = vaxis_rotate(x,Axis,Angle);
|
||||
#local vY = vaxis_rotate(y,Axis,Angle);
|
||||
#local vZ = vaxis_rotate(z,Axis,Angle);
|
||||
transform {
|
||||
matrix < vX.x,vX.y,vX.z, vY.x,vY.y,vY.z, vZ.x,vZ.y,vZ.z, 0,0,0 >
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
// Rotate around a specific point
|
||||
#macro Rotate_Around_Trans(Rotation, Point)
|
||||
transform {
|
||||
translate -Point
|
||||
rotate Rotation
|
||||
translate Point
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
// based on original Reorient() macro by John VanSickle
|
||||
#macro Reorient_Trans(Axis1, Axis2)
|
||||
#local vX1 = vnormalize(Axis1);
|
||||
#local vX2 = vnormalize(Axis2);
|
||||
#local Y = vcross(vX1, vX2);
|
||||
#if(vlength(Y) > 0)
|
||||
#local vY = vnormalize(Y);
|
||||
#local vZ1 = vnormalize(vcross(vX1, vY));
|
||||
#local vZ2 = vnormalize(vcross(vX2, vY));
|
||||
transform {
|
||||
matrix < vX1.x, vY.x,vZ1.x, vX1.y,vY.y,vZ1.y, vX1.z,vY.z, vZ1.z, 0,0,0 >
|
||||
matrix < vX2.x,vX2.y,vX2.z, vY.x,vY.y, vY.z, vZ2.x,vZ2.y,vZ2.z, 0,0,0 >
|
||||
}
|
||||
#else
|
||||
#if (vlength(vX1-vX2)=0)
|
||||
transform {}
|
||||
#else
|
||||
#local vZ = VPerp_To_Vector(vX2);
|
||||
transform { Axis_Rotate_Trans(vZ,180) }
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
|
||||
// Similar to Reorient_Trans(), points y axis along Axis.
|
||||
#macro Point_At_Trans(YAxis)
|
||||
#local Y = vnormalize(YAxis);
|
||||
#local X = VPerp_To_Vector(Y);
|
||||
#local Z = vcross(X, Y);
|
||||
Shear_Trans(X, Y, Z)
|
||||
#end
|
||||
|
||||
|
||||
// Calculates a transformation which will center the bounding box of Object
|
||||
// along specified axis Axis
|
||||
// Usage:
|
||||
// object {MyObj
|
||||
// Center_Trans(MyObj, x) center along x axis
|
||||
// You can also center along multiple axis:
|
||||
// Center_Trans(MyObj, x+y) center along x and y axis
|
||||
#macro Center_Trans(Object, Axis)
|
||||
#local Mn = min_extent(Object);
|
||||
#local Mx = max_extent(Object);
|
||||
transform {translate -Axis*((Mx - Mn)/2 + Mn)}
|
||||
#end
|
||||
|
||||
// Calculates a transformation which will align the bounding box
|
||||
// of an object to a point. Negative values on Axis will align to
|
||||
// the sides facing the negative ends of the coordinate system,
|
||||
// positive values will align to the opposite sides, 0 means
|
||||
// not to do any alignment on that axis.
|
||||
// Usage:
|
||||
// object {MyObj
|
||||
// Align_Trans(MyObj, x, Pt)
|
||||
// Align right side of object to be coplanar with Pt
|
||||
// Align_Trans(MyObj, -y, Pt)
|
||||
// Align bottom of object to be coplanar with Pt
|
||||
#macro Align_Trans(Object, Axis, Pt)
|
||||
#local Mn = min_extent(Object);
|
||||
#local Mx = max_extent(Object);
|
||||
transform {
|
||||
#if(Axis.x < -0.5)
|
||||
translate x*(Pt - Mn.x)
|
||||
#else
|
||||
#if(Axis.x > 0.5)
|
||||
translate x*(Pt - Mx.x)
|
||||
#end
|
||||
#end
|
||||
|
||||
#if(Axis.y < -0.5)
|
||||
translate y*(Pt - Mn.y)
|
||||
#else
|
||||
#if(Axis.y > 0.5)
|
||||
translate y*(Pt - Mx.y)
|
||||
#end
|
||||
#end
|
||||
|
||||
#if(Axis.z < -0.5)
|
||||
translate z*(Pt - Mn.z)
|
||||
#else
|
||||
#if(Axis.z > 0.5)
|
||||
translate z*(Pt - Mx.z)
|
||||
#end
|
||||
#end
|
||||
}
|
||||
#end
|
||||
|
||||
// Aligns an object to a spline for a given time value.
|
||||
// The Z axis of the object will point in the forward direction
|
||||
// of the spline and the Y axis of the object will point upwards.
|
||||
//
|
||||
// usage: object {MyObj Spline_Trans(MySpline, clock, y, 0.1, 0.5)}
|
||||
//
|
||||
// Spline: The spline that the object is aligned to.
|
||||
//
|
||||
// Time: The time value to feed to the spline, for example clock.
|
||||
//
|
||||
// Sky: The vector that is upwards in your scene, usually y.
|
||||
//
|
||||
// Foresight: How much in advance the object will turn and bank.
|
||||
// Values close to 0 will give precise results, while higher
|
||||
// values give smoother results. It will not affect parsing
|
||||
// speed, so just find the value that looks best.
|
||||
//
|
||||
// Banking: How much the object tilts when turning. Note that the amount
|
||||
// of tilting is equally much controlled by the ForeSight value.
|
||||
//
|
||||
// Author: Rune S. Johansen
|
||||
#macro Spline_Trans (Spline, Time, Sky, Foresight, Banking)
|
||||
#local Location = <0,0,0>+Spline(Time);
|
||||
#local LocationNext = <0,0,0>+Spline(Time+Foresight);
|
||||
#local LocationPrev = <0,0,0>+Spline(Time-Foresight);
|
||||
#local Forward = vnormalize(LocationNext-Location);
|
||||
#local Right = VPerp_To_Plane(Sky,Forward);
|
||||
#local Up = VPerp_To_Plane(Forward,Right);
|
||||
#local Matrix = Matrix_Trans(Right,Up,Forward,Location)
|
||||
#local BankingRotation =
|
||||
degrees(atan2(
|
||||
VRotation(
|
||||
VProject_Plane((LocationNext-Location),Sky),
|
||||
VProject_Plane((Location-LocationPrev),Sky),
|
||||
Up
|
||||
)*Banking
|
||||
,1
|
||||
));
|
||||
transform {
|
||||
rotate BankingRotation*z
|
||||
transform Matrix
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
#macro vtransform(vec, trans)
|
||||
#local fn = function { transform { trans } }
|
||||
#local result = (fn(vec.x, vec.y, vec.z));
|
||||
result
|
||||
#end
|
||||
|
||||
#macro vinv_transform(vec, trans)
|
||||
#local fn = function { transform { trans inverse } }
|
||||
#local result = (fn(vec.x, vec.y, vec.z));
|
||||
result
|
||||
#end
|
||||
|
||||
|
||||
#version TRANSFORMS_INC_TEMP;
|
||||
#end
|
||||
16
distribution/include/ttffonts.cat
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
Three sample fonts are included in this directory.
|
||||
|
||||
TIMROM.TTF is a proportional spaces serif font
|
||||
CYRVETIC.TTF is a proportional sans-spaces serif font
|
||||
|
||||
They were donated to the POV-Team by their creator
|
||||
Ted Harrison CIS:70220,344 and were built using his
|
||||
FontLab for Windows by SoftUnion, Ltd. of
|
||||
St. Petersburg, Russia.
|
||||
|
||||
CRYSTAL.TTF is a fixed space programmer's font
|
||||
donated courtesy of:
|
||||
Jerry Fitzpatrick
|
||||
Red Mountain Corporation
|
||||
redmtn@ix.netcom.com
|
||||
|
||||
266
distribution/include/whiteash.map
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
#declare WhiteAsh_Inc_Temp=version;
|
||||
|
||||
/*
|
||||
Persistence of Vision Raytracer Version 3.1
|
||||
White Ash wood color_map
|
||||
*/
|
||||
|
||||
#declare M_WhiteAsh =
|
||||
color_map {
|
||||
[0.000000 rgb <0.345098, 0.219608, 0.109804>]
|
||||
[0.003922 rgb <0.345098, 0.219608, 0.156863>]
|
||||
[0.007843 rgb <0.360784, 0.203922, 0.109804>]
|
||||
[0.011765 rgb <0.360784, 0.203922, 0.141176>]
|
||||
[0.015686 rgb <0.360784, 0.219608, 0.125490>]
|
||||
[0.019608 rgb <0.360784, 0.219608, 0.141176>]
|
||||
[0.023529 rgb <0.360784, 0.235294, 0.156863>]
|
||||
[0.027451 rgb <0.360784, 0.235294, 0.156863>]
|
||||
[0.031373 rgb <0.376471, 0.219608, 0.109804>]
|
||||
[0.035294 rgb <0.392157, 0.235294, 0.141176>]
|
||||
[0.039216 rgb <0.392157, 0.235294, 0.156863>]
|
||||
[0.043137 rgb <0.392157, 0.250980, 0.172549>]
|
||||
[0.047059 rgb <0.392157, 0.250980, 0.188235>]
|
||||
[0.050980 rgb <0.392157, 0.266667, 0.219608>]
|
||||
[0.054902 rgb <0.407843, 0.235294, 0.141176>]
|
||||
[0.058824 rgb <0.407843, 0.235294, 0.172549>]
|
||||
[0.062745 rgb <0.407843, 0.250980, 0.156863>]
|
||||
[0.066667 rgb <0.407843, 0.282353, 0.188235>]
|
||||
[0.070588 rgb <0.423529, 0.250980, 0.141176>]
|
||||
[0.074510 rgb <0.423529, 0.266667, 0.156863>]
|
||||
[0.078431 rgb <0.423529, 0.282353, 0.188235>]
|
||||
[0.082353 rgb <0.423529, 0.298039, 0.219608>]
|
||||
[0.086275 rgb <0.439216, 0.282353, 0.172549>]
|
||||
[0.090196 rgb <0.439216, 0.298039, 0.188235>]
|
||||
[0.094118 rgb <0.439216, 0.298039, 0.203922>]
|
||||
[0.098039 rgb <0.439216, 0.298039, 0.219608>]
|
||||
[0.101961 rgb <0.439216, 0.313726, 0.235294>]
|
||||
[0.105882 rgb <0.439216, 0.313726, 0.250980>]
|
||||
[0.109804 rgb <0.454902, 0.298039, 0.172549>]
|
||||
[0.113725 rgb <0.454902, 0.329412, 0.250980>]
|
||||
[0.117647 rgb <0.470588, 0.313726, 0.219608>]
|
||||
[0.121569 rgb <0.470588, 0.329412, 0.235294>]
|
||||
[0.125490 rgb <0.470588, 0.329412, 0.250980>]
|
||||
[0.129412 rgb <0.470588, 0.345098, 0.250980>]
|
||||
[0.133333 rgb <0.486275, 0.345098, 0.266667>]
|
||||
[0.137255 rgb <0.549020, 0.392157, 0.298039>]
|
||||
[0.141176 rgb <0.564706, 0.360784, 0.266667>]
|
||||
[0.145098 rgb <0.580392, 0.298039, 0.188235>]
|
||||
[0.149020 rgb <0.580392, 0.360784, 0.282353>]
|
||||
[0.152941 rgb <0.580392, 0.376471, 0.235294>]
|
||||
[0.156863 rgb <0.580392, 0.392157, 0.313726>]
|
||||
[0.160784 rgb <0.580392, 0.407843, 0.329412>]
|
||||
[0.164706 rgb <0.580392, 0.423529, 0.313726>]
|
||||
[0.168627 rgb <0.596078, 0.345098, 0.172549>]
|
||||
[0.172549 rgb <0.596078, 0.360784, 0.188235>]
|
||||
[0.176471 rgb <0.596078, 0.360784, 0.250980>]
|
||||
[0.180392 rgb <0.596078, 0.376471, 0.203922>]
|
||||
[0.184314 rgb <0.596078, 0.376471, 0.266667>]
|
||||
[0.188235 rgb <0.596078, 0.392157, 0.219608>]
|
||||
[0.192157 rgb <0.596078, 0.392157, 0.250980>]
|
||||
[0.196078 rgb <0.596078, 0.392157, 0.282353>]
|
||||
[0.200000 rgb <0.596078, 0.392157, 0.298039>]
|
||||
[0.203922 rgb <0.596078, 0.423529, 0.266667>]
|
||||
[0.207843 rgb <0.611765, 0.329412, 0.203922>]
|
||||
[0.211765 rgb <0.611765, 0.345098, 0.188235>]
|
||||
[0.215686 rgb <0.611765, 0.345098, 0.219608>]
|
||||
[0.219608 rgb <0.611765, 0.360784, 0.203922>]
|
||||
[0.223529 rgb <0.611765, 0.360784, 0.235294>]
|
||||
[0.227451 rgb <0.611765, 0.360784, 0.266667>]
|
||||
[0.231373 rgb <0.611765, 0.376471, 0.219608>]
|
||||
[0.235294 rgb <0.611765, 0.376471, 0.250980>]
|
||||
[0.239216 rgb <0.611765, 0.376471, 0.282353>]
|
||||
[0.243137 rgb <0.611765, 0.392157, 0.235294>]
|
||||
[0.247059 rgb <0.611765, 0.407843, 0.298039>]
|
||||
[0.250980 rgb <0.611765, 0.407843, 0.345098>]
|
||||
[0.254902 rgb <0.611765, 0.423529, 0.282353>]
|
||||
[0.258824 rgb <0.611765, 0.439216, 0.313726>]
|
||||
[0.262745 rgb <0.627451, 0.360784, 0.188235>]
|
||||
[0.266667 rgb <0.627451, 0.376471, 0.250980>]
|
||||
[0.270588 rgb <0.627451, 0.392157, 0.203922>]
|
||||
[0.274510 rgb <0.627451, 0.407843, 0.266667>]
|
||||
[0.278431 rgb <0.627451, 0.423529, 0.235294>]
|
||||
[0.282353 rgb <0.627451, 0.423529, 0.345098>]
|
||||
[0.286275 rgb <0.627451, 0.439216, 0.392157>]
|
||||
[0.290196 rgb <0.643137, 0.345098, 0.156863>]
|
||||
[0.294118 rgb <0.643137, 0.360784, 0.219608>]
|
||||
[0.298039 rgb <0.643137, 0.392157, 0.235294>]
|
||||
[0.301961 rgb <0.643137, 0.392157, 0.282353>]
|
||||
[0.305882 rgb <0.643137, 0.407843, 0.313726>]
|
||||
[0.309804 rgb <0.643137, 0.423529, 0.298039>]
|
||||
[0.313726 rgb <0.643137, 0.439216, 0.266667>]
|
||||
[0.317647 rgb <0.643137, 0.439216, 0.313726>]
|
||||
[0.321569 rgb <0.658824, 0.360784, 0.188235>]
|
||||
[0.325490 rgb <0.658824, 0.376471, 0.172549>]
|
||||
[0.329412 rgb <0.658824, 0.376471, 0.250980>]
|
||||
[0.333333 rgb <0.658824, 0.392157, 0.203922>]
|
||||
[0.337255 rgb <0.658824, 0.407843, 0.219608>]
|
||||
[0.341176 rgb <0.658824, 0.407843, 0.250980>]
|
||||
[0.345098 rgb <0.658824, 0.439216, 0.345098>]
|
||||
[0.349020 rgb <0.658824, 0.439216, 0.376471>]
|
||||
[0.352941 rgb <0.658824, 0.470588, 0.329412>]
|
||||
[0.356863 rgb <0.658824, 0.470588, 0.376471>]
|
||||
[0.360784 rgb <0.658824, 0.486275, 0.392157>]
|
||||
[0.364706 rgb <0.674510, 0.376471, 0.172549>]
|
||||
[0.368627 rgb <0.674510, 0.376471, 0.235294>]
|
||||
[0.372549 rgb <0.674510, 0.392157, 0.298039>]
|
||||
[0.376471 rgb <0.674510, 0.423529, 0.298039>]
|
||||
[0.380392 rgb <0.674510, 0.439216, 0.250980>]
|
||||
[0.384314 rgb <0.674510, 0.454902, 0.282353>]
|
||||
[0.388235 rgb <0.674510, 0.454902, 0.313726>]
|
||||
[0.392157 rgb <0.674510, 0.486275, 0.360784>]
|
||||
[0.396078 rgb <0.690196, 0.376471, 0.203922>]
|
||||
[0.400000 rgb <0.690196, 0.392157, 0.250980>]
|
||||
[0.403922 rgb <0.690196, 0.407843, 0.188235>]
|
||||
[0.407843 rgb <0.690196, 0.407843, 0.219608>]
|
||||
[0.411765 rgb <0.690196, 0.423529, 0.313726>]
|
||||
[0.415686 rgb <0.690196, 0.439216, 0.188235>]
|
||||
[0.419608 rgb <0.690196, 0.439216, 0.219608>]
|
||||
[0.423529 rgb <0.690196, 0.439216, 0.345098>]
|
||||
[0.427451 rgb <0.690196, 0.454902, 0.250980>]
|
||||
[0.431373 rgb <0.690196, 0.470588, 0.298039>]
|
||||
[0.435294 rgb <0.690196, 0.470588, 0.345098>]
|
||||
[0.439216 rgb <0.690196, 0.470588, 0.376471>]
|
||||
[0.443137 rgb <0.690196, 0.501961, 0.345098>]
|
||||
[0.447059 rgb <0.690196, 0.501961, 0.407843>]
|
||||
[0.450980 rgb <0.690196, 0.517647, 0.423529>]
|
||||
[0.454902 rgb <0.705882, 0.392157, 0.219608>]
|
||||
[0.458824 rgb <0.705882, 0.423529, 0.250980>]
|
||||
[0.462745 rgb <0.705882, 0.423529, 0.282353>]
|
||||
[0.466667 rgb <0.705882, 0.423529, 0.298039>]
|
||||
[0.470588 rgb <0.705882, 0.454902, 0.282353>]
|
||||
[0.474510 rgb <0.705882, 0.454902, 0.313726>]
|
||||
[0.478431 rgb <0.705882, 0.501961, 0.360784>]
|
||||
[0.482353 rgb <0.705882, 0.517647, 0.298039>]
|
||||
[0.486275 rgb <0.705882, 0.517647, 0.392157>]
|
||||
[0.490196 rgb <0.705882, 0.533333, 0.423529>]
|
||||
[0.494118 rgb <0.705882, 0.549020, 0.454902>]
|
||||
[0.498039 rgb <0.721569, 0.407843, 0.188235>]
|
||||
[0.501961 rgb <0.721569, 0.407843, 0.250980>]
|
||||
[0.505882 rgb <0.721569, 0.423529, 0.219608>]
|
||||
[0.509804 rgb <0.721569, 0.439216, 0.188235>]
|
||||
[0.513726 rgb <0.721569, 0.454902, 0.219608>]
|
||||
[0.517647 rgb <0.721569, 0.454902, 0.250980>]
|
||||
[0.521569 rgb <0.721569, 0.454902, 0.345098>]
|
||||
[0.525490 rgb <0.721569, 0.470588, 0.266667>]
|
||||
[0.529412 rgb <0.721569, 0.470588, 0.360784>]
|
||||
[0.533333 rgb <0.721569, 0.486275, 0.298039>]
|
||||
[0.537255 rgb <0.721569, 0.486275, 0.329412>]
|
||||
[0.541176 rgb <0.721569, 0.501961, 0.407843>]
|
||||
[0.545098 rgb <0.721569, 0.501961, 0.439216>]
|
||||
[0.549020 rgb <0.721569, 0.517647, 0.329412>]
|
||||
[0.552941 rgb <0.721569, 0.533333, 0.423529>]
|
||||
[0.556863 rgb <0.737255, 0.423529, 0.266667>]
|
||||
[0.560784 rgb <0.737255, 0.454902, 0.282353>]
|
||||
[0.564706 rgb <0.737255, 0.454902, 0.313726>]
|
||||
[0.568627 rgb <0.737255, 0.470588, 0.235294>]
|
||||
[0.572549 rgb <0.737255, 0.501961, 0.282353>]
|
||||
[0.576471 rgb <0.737255, 0.501961, 0.360784>]
|
||||
[0.580392 rgb <0.737255, 0.533333, 0.360784>]
|
||||
[0.584314 rgb <0.737255, 0.533333, 0.392157>]
|
||||
[0.588235 rgb <0.737255, 0.549020, 0.439216>]
|
||||
[0.592157 rgb <0.752941, 0.423529, 0.219608>]
|
||||
[0.596078 rgb <0.752941, 0.439216, 0.188235>]
|
||||
[0.600000 rgb <0.752941, 0.439216, 0.235294>]
|
||||
[0.603922 rgb <0.752941, 0.439216, 0.266667>]
|
||||
[0.607843 rgb <0.752941, 0.454902, 0.219608>]
|
||||
[0.611765 rgb <0.752941, 0.454902, 0.345098>]
|
||||
[0.615686 rgb <0.752941, 0.470588, 0.250980>]
|
||||
[0.619608 rgb <0.752941, 0.486275, 0.298039>]
|
||||
[0.623529 rgb <0.752941, 0.486275, 0.329412>]
|
||||
[0.627451 rgb <0.752941, 0.501961, 0.313726>]
|
||||
[0.631373 rgb <0.752941, 0.501961, 0.376471>]
|
||||
[0.635294 rgb <0.752941, 0.533333, 0.329412>]
|
||||
[0.639216 rgb <0.752941, 0.549020, 0.423529>]
|
||||
[0.643137 rgb <0.752941, 0.564706, 0.454902>]
|
||||
[0.647059 rgb <0.752941, 0.580392, 0.486275>]
|
||||
[0.650980 rgb <0.768627, 0.454902, 0.298039>]
|
||||
[0.654902 rgb <0.768627, 0.470588, 0.219608>]
|
||||
[0.658824 rgb <0.768627, 0.486275, 0.360784>]
|
||||
[0.662745 rgb <0.768627, 0.501961, 0.266667>]
|
||||
[0.666667 rgb <0.768627, 0.517647, 0.345098>]
|
||||
[0.670588 rgb <0.768627, 0.517647, 0.407843>]
|
||||
[0.674510 rgb <0.768627, 0.533333, 0.376471>]
|
||||
[0.678431 rgb <0.768627, 0.549020, 0.360784>]
|
||||
[0.682353 rgb <0.768627, 0.549020, 0.392157>]
|
||||
[0.686275 rgb <0.768627, 0.549020, 0.454902>]
|
||||
[0.690196 rgb <0.784314, 0.454902, 0.203922>]
|
||||
[0.694118 rgb <0.784314, 0.454902, 0.235294>]
|
||||
[0.698039 rgb <0.784314, 0.470588, 0.250980>]
|
||||
[0.701961 rgb <0.784314, 0.470588, 0.329412>]
|
||||
[0.705882 rgb <0.784314, 0.486275, 0.282353>]
|
||||
[0.709804 rgb <0.784314, 0.517647, 0.282353>]
|
||||
[0.713726 rgb <0.784314, 0.533333, 0.313726>]
|
||||
[0.717647 rgb <0.784314, 0.549020, 0.423529>]
|
||||
[0.721569 rgb <0.784314, 0.564706, 0.454902>]
|
||||
[0.725490 rgb <0.784314, 0.580392, 0.423529>]
|
||||
[0.729412 rgb <0.784314, 0.596078, 0.470588>]
|
||||
[0.733333 rgb <0.800000, 0.486275, 0.219608>]
|
||||
[0.737255 rgb <0.800000, 0.486275, 0.250980>]
|
||||
[0.741176 rgb <0.800000, 0.486275, 0.345098>]
|
||||
[0.745098 rgb <0.800000, 0.501961, 0.329412>]
|
||||
[0.749020 rgb <0.800000, 0.517647, 0.266667>]
|
||||
[0.752941 rgb <0.800000, 0.517647, 0.360784>]
|
||||
[0.756863 rgb <0.800000, 0.517647, 0.392157>]
|
||||
[0.760784 rgb <0.800000, 0.549020, 0.329412>]
|
||||
[0.764706 rgb <0.800000, 0.549020, 0.376471>]
|
||||
[0.768627 rgb <0.800000, 0.564706, 0.360784>]
|
||||
[0.772549 rgb <0.800000, 0.580392, 0.392157>]
|
||||
[0.776471 rgb <0.800000, 0.596078, 0.439216>]
|
||||
[0.780392 rgb <0.815686, 0.470588, 0.266667>]
|
||||
[0.784314 rgb <0.815686, 0.486275, 0.298039>]
|
||||
[0.788235 rgb <0.815686, 0.501961, 0.329412>]
|
||||
[0.792157 rgb <0.815686, 0.517647, 0.298039>]
|
||||
[0.796078 rgb <0.815686, 0.549020, 0.298039>]
|
||||
[0.800000 rgb <0.815686, 0.549020, 0.407843>]
|
||||
[0.803922 rgb <0.815686, 0.564706, 0.423529>]
|
||||
[0.807843 rgb <0.815686, 0.580392, 0.454902>]
|
||||
[0.811765 rgb <0.815686, 0.611765, 0.470588>]
|
||||
[0.815686 rgb <0.815686, 0.627451, 0.486275>]
|
||||
[0.819608 rgb <0.831373, 0.501961, 0.250980>]
|
||||
[0.823529 rgb <0.831373, 0.501961, 0.298039>]
|
||||
[0.827451 rgb <0.831373, 0.517647, 0.266667>]
|
||||
[0.831373 rgb <0.831373, 0.517647, 0.345098>]
|
||||
[0.835294 rgb <0.831373, 0.533333, 0.329412>]
|
||||
[0.839216 rgb <0.831373, 0.549020, 0.360784>]
|
||||
[0.843137 rgb <0.831373, 0.549020, 0.376471>]
|
||||
[0.847059 rgb <0.831373, 0.549020, 0.423529>]
|
||||
[0.850980 rgb <0.831373, 0.564706, 0.329412>]
|
||||
[0.854902 rgb <0.831373, 0.580392, 0.360784>]
|
||||
[0.858824 rgb <0.831373, 0.580392, 0.392157>]
|
||||
[0.862745 rgb <0.831373, 0.596078, 0.407843>]
|
||||
[0.866667 rgb <0.847059, 0.533333, 0.298039>]
|
||||
[0.870588 rgb <0.847059, 0.580392, 0.439216>]
|
||||
[0.874510 rgb <0.847059, 0.596078, 0.392157>]
|
||||
[0.878431 rgb <0.847059, 0.611765, 0.423529>]
|
||||
[0.882353 rgb <0.847059, 0.611765, 0.454902>]
|
||||
[0.886275 rgb <0.847059, 0.611765, 0.486275>]
|
||||
[0.890196 rgb <0.847059, 0.627451, 0.470588>]
|
||||
[0.894118 rgb <0.847059, 0.643137, 0.501961>]
|
||||
[0.898039 rgb <0.862745, 0.533333, 0.266667>]
|
||||
[0.901961 rgb <0.862745, 0.533333, 0.313726>]
|
||||
[0.905882 rgb <0.862745, 0.549020, 0.345098>]
|
||||
[0.909804 rgb <0.862745, 0.564706, 0.313726>]
|
||||
[0.913725 rgb <0.862745, 0.564706, 0.376471>]
|
||||
[0.917647 rgb <0.862745, 0.580392, 0.345098>]
|
||||
[0.921569 rgb <0.862745, 0.580392, 0.407843>]
|
||||
[0.925490 rgb <0.878431, 0.580392, 0.329412>]
|
||||
[0.929412 rgb <0.878431, 0.596078, 0.376471>]
|
||||
[0.933333 rgb <0.878431, 0.596078, 0.423529>]
|
||||
[0.937255 rgb <0.878431, 0.611765, 0.407843>]
|
||||
[0.941176 rgb <0.878431, 0.627451, 0.439216>]
|
||||
[0.945098 rgb <0.878431, 0.627451, 0.470588>]
|
||||
[0.949020 rgb <0.878431, 0.643137, 0.501961>]
|
||||
[0.952941 rgb <0.878431, 0.658824, 0.470588>]
|
||||
[0.956863 rgb <0.894118, 0.580392, 0.376471>]
|
||||
[0.960784 rgb <0.894118, 0.611765, 0.439216>]
|
||||
[0.964706 rgb <0.894118, 0.658824, 0.501961>]
|
||||
[0.968627 rgb <0.909804, 0.596078, 0.376471>]
|
||||
[0.972549 rgb <0.909804, 0.611765, 0.407843>]
|
||||
[0.976471 rgb <0.909804, 0.643137, 0.423529>]
|
||||
[0.980392 rgb <0.909804, 0.643137, 0.454902>]
|
||||
[0.984314 rgb <0.909804, 0.643137, 0.486275>]
|
||||
[0.988235 rgb <0.909804, 0.658824, 0.470588>]
|
||||
[0.992157 rgb <0.925490, 0.627451, 0.376471>]
|
||||
[0.996078 rgb <0.925490, 0.674510, 0.454902>]
|
||||
}
|
||||
#version WhiteAsh_Inc_Temp;
|
||||
477
distribution/include/woodmaps.inc
Normal file
|
|
@ -0,0 +1,477 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: woodmaps.inc
|
||||
// Last updated: 2001.7.24
|
||||
// Description:
|
||||
/* Basic wooden colormaps
|
||||
|
||||
The "M_WoodxA" color_maps are intended as the 1st layer of multi-layer
|
||||
textures, but many work well by themselves, as well.
|
||||
|
||||
The "M_WoodxB" color_maps contain transparent colors and are intended for
|
||||
use as top layers.
|
||||
*/
|
||||
|
||||
#ifndef(Woodmaps_Inc_Temp)
|
||||
#declare Woodmaps_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including woodmaps.inc\n"
|
||||
#end
|
||||
|
||||
|
||||
#declare M_Wood1A =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgb <0.88, 0.60, 0.40>
|
||||
color rgb <0.88, 0.60, 0.40>]
|
||||
[0.1, 0.9 color rgb <0.88, 0.60, 0.40>
|
||||
color rgb <0.60, 0.30, 0.20>]
|
||||
[0.9, 1.0 color rgb <0.60, 0.30, 0.20>
|
||||
color rgb <0.60, 0.30, 0.20>]
|
||||
}
|
||||
#declare M_Wood1B =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgbt <0.55, 0.32, 0.20, 0.100>
|
||||
color rgbt <0.55, 0.32, 0.20, 0.500>]
|
||||
[0.1, 0.2 color rgbt <0.55, 0.35, 0.20, 0.650>
|
||||
color rgbt <0.88, 0.60, 0.40, 0.975>]
|
||||
[0.2, 0.3 color rgbt <0.88, 0.60, 0.40, 0.975>
|
||||
color rgbt <0.60, 0.30, 0.20, 1.000>]
|
||||
[0.3, 0.4 color rgbt <0.60, 0.30, 0.20, 0.100>
|
||||
color rgbt <0.60, 0.30, 0.20, 0.500>]
|
||||
[0.4, 0.9 color rgbt <0.60, 0.30, 0.20, 0.650>
|
||||
color rgbt <0.88, 0.60, 0.40, 0.975>]
|
||||
[0.9, 1.0 color rgbt <0.88, 0.60, 0.40, 0.975>
|
||||
color rgbt <0.55, 0.32, 0.20, 1.000>]
|
||||
}
|
||||
|
||||
|
||||
#declare M_Wood2A =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgb <0.35, 0.16, 0.12 >* 0.5
|
||||
color rgb <0.35, 0.16, 0.12>* 0.5]
|
||||
[0.1, 0.9 color rgb <0.35, 0.20, 0.16>* 0.5
|
||||
color rgb <0.46, 0.26, 0.18>* 0.5]
|
||||
[0.9, 1.0 color rgb <0.46, 0.26, 0.18>* 0.5
|
||||
color rgb <0.35, 0.16, 0.12>* 0.5]
|
||||
}
|
||||
#declare M_Wood2B =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgbt <0.50, 0.30, 0.20, 0.100>
|
||||
color rgbt <0.50, 0.30, 0.20, 0.500>]
|
||||
[0.1, 0.9 color rgbt <0.50, 0.30, 0.20, 0.650>
|
||||
color rgbt <0.50, 0.25, 0.15, 0.975>]
|
||||
[0.9, 1.0 color rgbt <0.50, 0.25, 0.15, 0.975>
|
||||
color rgbt <0.50, 0.30, 0.20, 0.000>]
|
||||
}
|
||||
#declare M_Wood3A =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgb <0.75, 0.65, 0.45>
|
||||
color rgb <0.75, 0.65, 0.45>]
|
||||
[0.1, 0.9 color rgb <0.75, 0.65, 0.45>
|
||||
color rgb <0.70, 0.55, 0.40>]
|
||||
[0.9, 1.0 color rgb <0.70, 0.55, 0.40>
|
||||
color rgb <0.75, 0.65, 0.45>]
|
||||
}
|
||||
#declare M_Wood3B =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgbt <0.70, 0.60, 0.40, 0.100>
|
||||
color rgbt <0.70, 0.60, 0.40, 0.500>]
|
||||
[0.1, 0.9 color rgbt <0.70, 0.60, 0.40, 0.650>
|
||||
color rgbt <0.75, 0.70, 0.60, 0.975>]
|
||||
[0.9, 1.0 color rgbt <0.75, 0.70, 0.60, 0.975>
|
||||
color rgbt <0.70, 0.60, 0.40, 1.000>]
|
||||
}
|
||||
#declare M_Wood4A =
|
||||
color_map {
|
||||
[0.0, 0.3 color rgb <0.30, 0.10, 0.15>
|
||||
color rgb <0.30, 0.15, 0.15>]
|
||||
[0.3, 0.6 color rgb <0.30, 0.15, 0.15>
|
||||
color rgb <0.50, 0.20, 0.15>]
|
||||
[0.6, 1.0 color rgb <0.50, 0.20, 0.15>
|
||||
color rgb <0.30, 0.10, 0.15>]
|
||||
}
|
||||
#declare M_Wood4B =
|
||||
color_map {
|
||||
/*
|
||||
[0.0, 0.3 color rgbt <0.40, 0.18, 0.20, 0.00>
|
||||
color rgbt <0.20, 0.10, 0.15, 0.20>]
|
||||
[0.3, 0.4 color rgbt <0.20, 0.10, 0.15, 0.35>
|
||||
color rgbt <0.10, 0.05, 0.07, 0.50>]
|
||||
[0.4, 0.6 color rgbt <0.10, 0.05, 0.07, 0.20>
|
||||
color rgbt <0.20, 0.10, 0.15, 0.35>]
|
||||
[0.6, 1.0 color rgbt <0.20, 0.10, 0.15, 0.50>
|
||||
color rgbt <0.40, 0.18, 0.20, 0.00>]
|
||||
*/
|
||||
[0.0, 0.3 color rgbt <0.32, 0.15, 0.17, 0.00>
|
||||
color rgbt <0.32, 0.13, 0.15, 0.20>]
|
||||
[0.3, 0.4 color rgbt <0.32, 0.13, 0.13, 0.35>
|
||||
color rgbt <0.52, 0.25, 0.23, 0.40>]
|
||||
[0.4, 0.6 color rgbt <0.52, 0.25, 0.23, 0.20>
|
||||
color rgbt <0.32, 0.13, 0.13, 0.35>]
|
||||
[0.6, 1.0 color rgbt <0.32, 0.13, 0.15, 0.50>
|
||||
color rgbt <0.32, 0.15, 0.20, 0.00>]
|
||||
|
||||
}
|
||||
#declare M_Wood5A =
|
||||
color_map {
|
||||
[0.0, 0.3 color rgb <0.50, 0.35, 0.10>
|
||||
color rgb <0.50, 0.35, 0.10>]
|
||||
[0.3, 0.6 color rgb <0.50, 0.35, 0.10>
|
||||
color rgb <0.60, 0.45, 0.10>]
|
||||
[0.6, 1.0 color rgb <0.60, 0.45, 0.10>
|
||||
color rgb <0.50, 0.35, 0.10>]
|
||||
}
|
||||
#declare M_Wood5B =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgbt <0.40, 0.35, 0.10, 1.00>
|
||||
color rgbt <0.40, 0.00, 0.10, 0.60>]
|
||||
[0.1, 0.9 color rgbt <0.40, 0.00, 0.10, 0.75>
|
||||
color rgbt <0.35, 0.40, 0.15, 0.90>]
|
||||
[0.9, 1.0 color rgbt <0.35, 0.40, 0.15, 0.90>
|
||||
color rgbt <0.40, 0.35, 0.10, 1.00>]
|
||||
}
|
||||
#declare M_Wood6A =
|
||||
color_map {
|
||||
[0.0, 0.3 color rgb <0.25, 0.10, 0.10>
|
||||
color rgb <0.25, 0.10, 0.10>]
|
||||
[0.3, 0.6 color rgb <0.25, 0.10, 0.10>
|
||||
color rgb <0.60, 0.15, 0.10>]
|
||||
[0.6, 1.0 color rgb <0.60, 0.15, 0.10>
|
||||
color rgb <0.25, 0.10, 0.10>]
|
||||
}
|
||||
#declare M_Wood6B =
|
||||
color_map {
|
||||
[0.0, 0.3 color rgbt <0.25, 0.10, 0.10, 0.00>
|
||||
color rgbt <0.25, 0.10, 0.10, 0.40>]
|
||||
[0.3, 0.5 color rgbt <0.25, 0.10, 0.10, 0.40>
|
||||
color rgbt <0.60, 0.15, 0.10, 1.00>]
|
||||
[0.5, 0.7 color rgbt <0.60, 0.15, 0.10, 1.00>
|
||||
color rgbt <0.25, 0.10, 0.10, 0.40>]
|
||||
[0.7, 1.0 color rgbt <0.60, 0.15, 0.10, 0.40>
|
||||
color rgbt <0.25, 0.10, 0.10, 0.00>]
|
||||
}
|
||||
#declare M_Wood7A =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgb <0.60, 0.35, 0.20>
|
||||
color rgb <0.60, 0.35, 0.20>]
|
||||
[0.1, 0.9 color rgb <0.60, 0.35, 0.20>
|
||||
color rgb <0.90, 0.65, 0.30>]
|
||||
[0.9, 1.0 color rgb <0.90, 0.65, 0.30>
|
||||
color rgb <0.60, 0.35, 0.20>]
|
||||
}
|
||||
#declare M_Wood7B =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgbt <0.90, 0.65, 0.30, 0.00>
|
||||
color rgbt <0.90, 0.65, 0.30, 0.30>]
|
||||
[0.1, 1.0 color rgbt <0.90, 0.65, 0.30, 0.30>
|
||||
color rgbt <1.00, 1.00, 1.00, 1.00> ]
|
||||
}
|
||||
#declare M_Wood8A =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgb <0.45, 0.30, 0.15>
|
||||
color rgb <0.45, 0.30, 0.15>]
|
||||
[0.1, 0.9 color rgb <0.55, 0.30, 0.15>
|
||||
color rgb <0.20, 0.15, 0.05>]
|
||||
[0.9, 1.0 color rgb <0.20, 0.15, 0.05>
|
||||
color rgb <0.45, 0.30, 0.15>]
|
||||
}
|
||||
#declare M_Wood8B =
|
||||
color_map {
|
||||
[0.0, 0.5 color rgbt <0.60, 0.35, 0.20, 0.30>
|
||||
color rgbt <0.60, 0.35, 0.20, 0.80>]
|
||||
[0.5, 1.0 color rgbt <0.60, 0.35, 0.20, 0.80>
|
||||
color rgbt <1.00, 1.00, 1.00, 1.00> ]
|
||||
}
|
||||
#declare M_Wood9A =
|
||||
color_map {
|
||||
[0.0, 0.5 color rgb <1.00, 0.85, 0.50>
|
||||
color rgb <0.60, 0.40, 0.16>]
|
||||
[0.5, 0.7 color rgb <0.60, 0.40, 0.16>
|
||||
color rgb <0.60, 0.40, 0.16>]
|
||||
[0.7, 1.0 color rgb <0.60, 0.40, 0.16>
|
||||
color rgb <1.00, 0.85, 0.50>]
|
||||
}
|
||||
#declare M_Wood9B =
|
||||
color_map {
|
||||
[0.0, 0.5 color rgbt <1.00, 0.70, 0.25, 1.00>
|
||||
color rgbt <0.50, 0.30, 0.06, 0.40>]
|
||||
[0.5, 0.7 color rgbt <0.50, 0.30, 0.06, 0.40>
|
||||
color rgbt <0.50, 0.30, 0.06, 0.30>]
|
||||
[0.7, 1.0 color rgbt <0.50, 0.30, 0.06, 0.40>
|
||||
color rgbt <1.00, 0.70, 0.25, 1.00>]
|
||||
}
|
||||
#declare M_Wood10A =
|
||||
color_map {
|
||||
[0.0, 0.5 color rgb <1.00, 0.85, 0.50>
|
||||
color rgb <0.90, 0.70, 0.46>]
|
||||
[0.5, 0.7 color rgb <0.90, 0.70, 0.46>
|
||||
color rgb <0.90, 0.70, 0.46>]
|
||||
[0.7, 1.0 color rgb <0.90, 0.70, 0.46>
|
||||
color rgb <1.00, 0.85, 0.50>]
|
||||
}
|
||||
#declare M_Wood10B =
|
||||
color_map {
|
||||
[0.0, 0.5 color rgbt <1.00, 0.45, 0.10, 0.80>
|
||||
color rgbt <0.85, 0.65, 0.40, 0.40>]
|
||||
[0.5, 0.7 color rgbt <0.85, 0.65, 0.40, 0.40>
|
||||
color rgbt <0.85, 0.65, 0.40, 0.40>]
|
||||
[0.7, 1.0 color rgbt <0.85, 0.65, 0.40, 0.40>
|
||||
color rgbt <1.00, 0.45, 0.10, 0.80>]
|
||||
}
|
||||
#declare M_Wood11A =
|
||||
color_map {
|
||||
[0.000, 0.222 color rgb <0.80, 0.67, 0.25>
|
||||
color rgb <0.80, 0.67, 0.25>]
|
||||
[0.222, 0.342 color rgb <0.80, 0.67, 0.25>
|
||||
color rgb <0.60, 0.34, 0.04>]
|
||||
[0.342, 0.393 color rgb <0.60, 0.34, 0.04>
|
||||
color rgb <0.80, 0.67, 0.25>]
|
||||
[0.393, 0.709 color rgb <0.80, 0.67, 0.25>
|
||||
color rgb <0.80, 0.67, 0.25>]
|
||||
[0.709, 0.821 color rgb <0.80, 0.67, 0.25>
|
||||
color rgb <0.53, 0.29, 0.02>]
|
||||
[0.821, 1.000 color rgb <0.53, 0.29, 0.02>
|
||||
color rgb <0.80, 0.67, 0.25>]
|
||||
}
|
||||
#declare M_Wood11B =
|
||||
color_map {
|
||||
[0.000, 0.120 color rgbt <1.00, 1.00, 1.00, 1.00>
|
||||
color rgbt <0.70, 0.41, 0.11, 0.60>]
|
||||
[0.120, 0.231 color rgbt <0.70, 0.41, 0.11, 0.60>
|
||||
color rgbt <0.70, 0.46, 0.11, 0.60>]
|
||||
[0.231, 0.496 color rgbt <0.70, 0.46, 0.11, 0.60>
|
||||
color rgbt <1.00, 1.00, 1.00, 1.00>]
|
||||
[0.496, 0.701 color rgbt <1.00, 1.00, 1.00, 1.00>
|
||||
color rgbt <1.00, 1.00, 1.00, 1.00>]
|
||||
[0.701, 0.829 color rgbt <1.00, 1.00, 1.00, 1.00>
|
||||
color rgbt <0.70, 0.46, 0.11, 0.60>]
|
||||
[0.829, 1.000 color rgbt <0.70, 0.46, 0.11, 0.60>
|
||||
color rgbt <1.00, 1.00, 1.00, 1.00>]
|
||||
}
|
||||
#declare M_Wood12A =
|
||||
color_map {
|
||||
[0.000, 0.256 color rgb <0.20, 0.11, 0.07>*1.25
|
||||
color rgb <0.23, 0.12, 0.09>*1.25]
|
||||
[0.256, 0.393 color rgb <0.23, 0.12, 0.09>*1.25
|
||||
color rgb <0.24, 0.13, 0.09>*1.25]
|
||||
[0.393, 0.581 color rgb <0.24, 0.13, 0.09>*1.25
|
||||
color rgb <0.20, 0.11, 0.07>*1.25]
|
||||
[0.581, 0.726 color rgb <0.20, 0.11, 0.07>*1.25
|
||||
color rgb <0.25, 0.12, 0.10>*1.25]
|
||||
[0.726, 0.983 color rgb <0.25, 0.12, 0.10>*1.25
|
||||
color rgb <0.23, 0.12, 0.08>*1.25]
|
||||
[0.983, 1.000 color rgb <0.23, 0.12, 0.08>*1.25
|
||||
color rgb <0.20, 0.11, 0.07>*1.25]
|
||||
}
|
||||
#declare M_Wood12B =
|
||||
color_map {
|
||||
[0.000, 0.139 color rgbt <0.545, 0.349, 0.247, 1.000>
|
||||
color rgbt <0.450, 0.350, 0.320, 0.800>]
|
||||
[0.139, 0.148 color rgbt <0.450, 0.350, 0.320, 0.800>
|
||||
color rgbt <0.450, 0.350, 0.320, 0.800>]
|
||||
[0.148, 0.287 color rgbt <0.450, 0.350, 0.320, 0.800>
|
||||
color rgbt <0.545, 0.349, 0.247, 1.000>]
|
||||
[0.287, 0.443 color rgbt <0.545, 0.349, 0.247, 1.000>
|
||||
color rgbt <0.545, 0.349, 0.247, 1.000>]
|
||||
[0.443, 0.626 color rgbt <0.545, 0.349, 0.247, 1.000>
|
||||
color rgbt <0.450, 0.350, 0.320, 0.800>]
|
||||
[0.626, 0.635 color rgbt <0.450, 0.350, 0.320, 0.800>
|
||||
color rgbt <0.450, 0.350, 0.320, 0.800>]
|
||||
[0.635, 0.843 color rgbt <0.450, 0.350, 0.320, 0.800>
|
||||
color rgbt <0.545, 0.349, 0.247, 1.000>]
|
||||
[0.843, 1.000 color rgbt <0.545, 0.349, 0.247, 1.000>
|
||||
color rgbt <0.545, 0.349, 0.247, 1.000>]
|
||||
}
|
||||
// Same as M_Wood7A
|
||||
#declare M_Wood13A =
|
||||
color_map {
|
||||
[0.0, 0.1 color rgb <0.60, 0.35, 0.20>
|
||||
color rgb <0.60, 0.35, 0.20>]
|
||||
[0.1, 0.9 color rgb <0.60, 0.35, 0.20>
|
||||
color rgb <0.90, 0.65, 0.30>]
|
||||
[0.9, 1.0 color rgb <0.90, 0.65, 0.30>
|
||||
color rgb <0.60, 0.35, 0.20>]
|
||||
}
|
||||
// Same as M_Wood7B
|
||||
#declare M_Wood13B =
|
||||
/********
|
||||
color_map {
|
||||
[0.0, 0.1 color rgbt <0.90, 0.65, 0.30, 0.00>
|
||||
color rgbt <0.90, 0.65, 0.30, 0.30>]
|
||||
[0.1, 1.0 color rgbt <0.90, 0.65, 0.30, 0.30>
|
||||
color rgbt <1.00, 1.00, 1.00, 1.00> ]
|
||||
}
|
||||
********/
|
||||
color_map {
|
||||
[0.0, 0.4 color rgbt <1.00, 1.00, 1.00, 1.00>
|
||||
color rgbt <0.90, 0.65, 0.30, 0.30>]
|
||||
[0.4, 0.5 color rgbt <0.90, 0.65, 0.30, 0.00>
|
||||
color rgbt <0.90, 0.65, 0.30, 0.30>]
|
||||
[0.5, 1.0 color rgbt <0.90, 0.65, 0.30, 0.30>
|
||||
color rgbt <1.00, 1.00, 1.00, 1.00> ]
|
||||
}
|
||||
#declare M_Wood14A =
|
||||
colour_map {
|
||||
[0.00 0.10 color rgb < 0.80, 0.232, 0.115 >
|
||||
color rgb < 0.80, 0.232, 0.115 >]
|
||||
[0.10 0.90 color rgb < 0.80, 0.232, 0.115 >
|
||||
color rgb < 0.45, 0.115, 0.060 >]
|
||||
[0.90 1.0 color rgb < 0.45, 0.115, 0.060 >
|
||||
color rgb < 0.45, 0.115, 0.060 >]
|
||||
}
|
||||
|
||||
#declare M_Wood14B =
|
||||
colour_map {
|
||||
[0.00 0.10 color rgbt < 0.70, 0.232, 0.115, 0.5 >
|
||||
color rgbt < 0.70, 0.232, 0.115, 0.7 >]
|
||||
[0.10 0.15 color rgbt < 0.70, 0.232, 0.115, 0.7 >
|
||||
color rgbt < 0.35, 0.115, 0.060, 0.9 >]
|
||||
[0.15 0.20 color rgbt < 0.70, 0.232, 0.115, 0.9 >
|
||||
color rgbt < 0.35, 0.115, 0.060, 0.7 >]
|
||||
[0.20 1.0 color rgbt < 0.35, 0.115, 0.060, 0.7 >
|
||||
color rgbt < 0.35, 0.115, 0.060, 0.5 >]
|
||||
}
|
||||
#declare M_Wood15A =
|
||||
colour_map {
|
||||
[0.00 0.25 color rgb < 0.504, 0.310, 0.078> * 0.7
|
||||
color rgb < 0.531, 0.325, 0.090> * 0.8 ]
|
||||
[0.25 0.40 color rgb < 0.531, 0.325, 0.090> * 0.8
|
||||
color rgb < 0.547, 0.333, 0.090> * 0.5 ]
|
||||
[0.40 0.50 color rgb < 0.547, 0.333, 0.090> * 0.5
|
||||
color rgb < 0.504, 0.310, 0.075> * 0.6 ]
|
||||
[0.50 0.70 color rgb < 0.504, 0.310, 0.075> * 0.6
|
||||
color rgb < 0.559, 0.322, 0.102> * 0.4 ]
|
||||
[0.70 0.98 color rgb < 0.559, 0.322, 0.102> * 0.4
|
||||
color rgb < 0.531, 0.325, 0.086> * 0.4 ]
|
||||
[0.98 1.00 color rgb < 0.531, 0.325, 0.086> * 0.4
|
||||
color rgb < 0.504, 0.310, 0.078> * 0.7 ]
|
||||
}
|
||||
#declare M_Wood15B =
|
||||
colour_map {
|
||||
[0.00 0.25 color rgbt < 0.404, 0.210, 0.078, 0.20>
|
||||
color rgbt < 0.431, 0.225, 0.090, 0.80>]
|
||||
[0.25 0.40 color rgbt < 0.431, 0.225, 0.090, 0.80>
|
||||
color rgbt < 0.447, 0.233, 0.090, 0.20>]
|
||||
[0.40 0.50 color rgbt < 0.447, 0.233, 0.090, 0.20>
|
||||
color rgbt < 0.404, 0.210, 0.075, 0.60>]
|
||||
[0.50 0.70 color rgbt < 0.404, 0.210, 0.075, 0.60>
|
||||
color rgbt < 0.459, 0.222, 0.102, 0.20>]
|
||||
[0.70 0.98 color rgbt < 0.459, 0.222, 0.102, 0.20>
|
||||
color rgbt < 0.431, 0.225, 0.086, 0.40>]
|
||||
[0.98 1.00 color rgbt < 0.431, 0.225, 0.086, 0.40>
|
||||
color rgbt < 0.404, 0.210, 0.078, 0.10>]
|
||||
}
|
||||
#declare M_Wood16A =
|
||||
colour_map {
|
||||
[0.00 0.25 color rgb < 0.504, 0.310, 0.078> * 0.7
|
||||
color rgb < 0.531, 0.325, 0.090> * 0.8 ]
|
||||
[0.25 0.40 color rgb < 0.531, 0.325, 0.090> * 0.8
|
||||
color rgb < 0.547, 0.333, 0.090> * 0.5 ]
|
||||
[0.40 0.50 color rgb < 0.547, 0.333, 0.090> * 0.5
|
||||
color rgb < 0.504, 0.310, 0.075> * 0.6 ]
|
||||
[0.50 0.70 color rgb < 0.504, 0.310, 0.075> * 0.6
|
||||
color rgb < 0.559, 0.322, 0.102> * 0.4 ]
|
||||
[0.70 0.98 color rgb < 0.559, 0.322, 0.102> * 0.4
|
||||
color rgb < 0.531, 0.325, 0.086> * 0.4 ]
|
||||
[0.98 1.00 color rgb < 0.531, 0.325, 0.086> * 0.4
|
||||
color rgb < 0.504, 0.310, 0.078> * 0.7 ]
|
||||
}
|
||||
#declare M_Wood16B =
|
||||
colour_map {
|
||||
[0.00 0.25 color rgbt < 0.404, 0.210, 0.078, 0.30>
|
||||
color rgbt < 0.431, 0.225, 0.090, 0.60>]
|
||||
[0.25 0.40 color rgbt < 0.431, 0.225, 0.090, 0.60>
|
||||
color rgbt < 0.447, 0.233, 0.090, 0.30>]
|
||||
[0.40 0.50 color rgbt < 0.447, 0.233, 0.090, 0.30>
|
||||
color rgbt < 0.404, 0.210, 0.075, 0.40>]
|
||||
[0.50 0.70 color rgbt < 0.404, 0.210, 0.075, 0.40>
|
||||
color rgbt < 0.459, 0.222, 0.102, 0.20>]
|
||||
[0.70 0.98 color rgbt < 0.459, 0.222, 0.102, 0.20>
|
||||
color rgbt < 0.431, 0.225, 0.086, 0.50>]
|
||||
[0.98 1.00 color rgbt < 0.431, 0.225, 0.086, 0.50>
|
||||
color rgbt < 0.404, 0.210, 0.078, 0.30>]
|
||||
}
|
||||
#declare M_Wood17A =
|
||||
colour_map {
|
||||
[0.00 0.25 color rgb < 0.70, 0.40, 0.15> * 0.9
|
||||
color rgb < 0.75, 0.42, 0.30> * 0.7 ]
|
||||
[0.25 0.40 color rgb < 0.75, 0.42, 0.25> * 0.7
|
||||
color rgb < 0.74, 0.43, 0.30> * 0.5 ]
|
||||
[0.40 0.50 color rgb < 0.74, 0.43, 0.20> * 0.5
|
||||
color rgb < 0.70, 0.42, 0.15> * 0.3 ]
|
||||
[0.50 0.70 color rgb < 0.70, 0.42, 0.15> * 0.3
|
||||
color rgb < 0.64, 0.46, 0.10> * 0.4 ]
|
||||
[0.70 0.98 color rgb < 0.64, 0.46, 0.10> * 0.4
|
||||
color rgb < 0.65, 0.42, 0.20> * 0.6 ]
|
||||
[0.98 1.00 color rgb < 0.65, 0.42, 0.20> * 0.6
|
||||
color rgb < 0.60, 0.40, 0.15> * 0.9 ]
|
||||
}
|
||||
#declare M_Wood17B =
|
||||
colour_map {
|
||||
[0.00 0.25 color rgbt < 0.40, 0.20, 0.08, 0.10>
|
||||
color rgbt < 0.44, 0.23, 0.09, 0.20>]
|
||||
[0.25 0.40 color rgbt < 0.44, 0.23, 0.09, 0.20>
|
||||
color rgbt < 0.45, 0.25, 0.09, 0.30>]
|
||||
[0.40 0.50 color rgbt < 0.45, 0.25, 0.09, 0.30>
|
||||
color rgbt < 0.40, 0.20, 0.08, 0.60>]
|
||||
[0.50 0.70 color rgbt < 0.40, 0.20, 0.08, 0.60>
|
||||
color rgbt < 0.46, 0.23, 0.10, 0.30>]
|
||||
[0.70 0.98 color rgbt < 0.46, 0.23, 0.10, 0.30>
|
||||
color rgbt < 0.44, 0.23, 0.09, 0.20>]
|
||||
[0.98 1.00 color rgbt < 0.44, 0.23, 0.09, 0.20>
|
||||
color rgbt < 0.40, 0.20, 0.08, 0.10>]
|
||||
}
|
||||
#declare M_Wood18A =
|
||||
colour_map {
|
||||
[0.00 0.15 color rgb < 1.0, 0.50, 0.00>
|
||||
color rgb < 1.0, 0.50, 0.00> *0.5 ]
|
||||
[0.15 0.25 color rgb < 1.0, 0.50, 0.00> *0.5
|
||||
color rgb < 1.0, 0.45, 0.00> *0.7 ]
|
||||
[0.25 0.28 color rgb < 1.0, 0.45, 0.00> *0.8
|
||||
color rgb < 1.0, 0.36, 0.00> *0.3 ]
|
||||
[0.28 0.40 color rgb < 1.0, 0.36, 0.00> *0.3
|
||||
color rgb < 1.0, 0.40, 0.00> *0.4 ]
|
||||
[0.40 0.50 color rgb < 1.0, 0.40, 0.00> *0.4
|
||||
color rgb < 1.0, 0.40, 0.00> *0.6 ]
|
||||
[0.50 0.70 color rgb < 1.0, 0.50, 0.00> *0.6
|
||||
color rgb < 1.0, 0.50, 0.00> *0.7 ]
|
||||
[0.70 0.98 color rgb < 1.0, 0.45, 0.00> *0.7
|
||||
color rgb < 1.0, 0.45, 0.00> *0.5 ]
|
||||
[0.98 1.00 color rgb < 1.0, 0.45, 0.00> *0.5
|
||||
color rgb < 1.0, 0.50, 0.00> ]
|
||||
}
|
||||
#declare M_Wood18B =
|
||||
colour_map {
|
||||
[0.00 0.25 color rgbt < 0.50, 0.26, 0.12, 0.30>
|
||||
color rgbt < 0.54, 0.29, 0.13, 0.40>]
|
||||
[0.25 0.40 color rgbt < 0.54, 0.29, 0.13, 0.40>
|
||||
color rgbt < 0.55, 0.28, 0.10, 0.60>]
|
||||
[0.40 0.50 color rgbt < 0.55, 0.28, 0.10, 0.60>
|
||||
color rgbt < 0.50, 0.23, 0.15, 1.00>]
|
||||
[0.50 0.70 color rgbt < 0.50, 0.23, 0.15, 1.00>
|
||||
color rgbt < 0.56, 0.29, 0.17, 0.60>]
|
||||
[0.70 0.98 color rgbt < 0.56, 0.29, 0.17, 0.60>
|
||||
color rgbt < 0.54, 0.29, 0.13, 0.40>]
|
||||
[0.98 1.00 color rgbt < 0.54, 0.29, 0.13, 0.40>
|
||||
color rgbt < 0.50, 0.26, 0.12, 0.30>]
|
||||
}
|
||||
#declare M_Wood19A =
|
||||
color_map {
|
||||
[0.00 color rgb <0.5, 0.25, 0.125>]
|
||||
[0.40 color rgb <1.0, 0.50, 0.250> ]
|
||||
[0.60 color rgb <1.0, 0.50, 0.250> ]
|
||||
[1.00 color rgb <0.5, 0.25, 0.125>]
|
||||
}
|
||||
#declare M_Wood19B =
|
||||
color_map {
|
||||
[0.00 0.30 color rgb <0.35, 0.175, 0.0875>
|
||||
color rgb <1.00, 0.500, 0.2500> ]
|
||||
[0.30 1.00 color rgbf 1 color rgbf 1]
|
||||
}
|
||||
#version Woodmaps_Inc_Temp;
|
||||
#end
|
||||
733
distribution/include/woods.inc
Normal file
|
|
@ -0,0 +1,733 @@
|
|||
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
|
||||
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
||||
|
||||
// Persistence of Vision Ray Tracer version 3.5 Include File
|
||||
// File: woods.inc
|
||||
// Last updated: 2001.7.24
|
||||
// Description:
|
||||
/* Basic wooden textures
|
||||
|
||||
Credits:
|
||||
Textures T_Wood1 through T_Wood30 by Dan Farmer
|
||||
|
||||
Textures T_Wood31 through T_Wood35 contributed by
|
||||
Paul Novak, 75274.1613@compuserve.com
|
||||
|
||||
Notes on layered textures T_Wood1 through T_Wood30:
|
||||
|
||||
The pigment definitions:
|
||||
========================
|
||||
Declares pigments P_Woodgrain1A through P_Woodgrain19A and
|
||||
P_Woodgrain1B through P_Woodgrain19B. The only difference between the
|
||||
"A" designations and the "B" designations is in design. The "A"'s
|
||||
were designed to generally work better as underlying patterns, using
|
||||
opaque color_maps, while the "B" pigments were designed to work
|
||||
better as top layers, with some degree of transparency in their
|
||||
color_maps.
|
||||
|
||||
The pigments with the "A" and "B" designations are combinations that
|
||||
were designed to work well together, but do not neccessarily have to
|
||||
be used as pairs.
|
||||
|
||||
These pigment definitions do not have colormaps assigned so
|
||||
that they can mix 'n matched in various combinations by the user when
|
||||
designing their own colors. In this file, the color_maps are added at
|
||||
the point of defining the final textures.
|
||||
|
||||
|
||||
The color_map definitions:
|
||||
==========================
|
||||
These are declared in the #include file "woodmaps.inc". They are
|
||||
named M_Wood1A through M_Wood19A and M_Wood1B through M_Wood19B.
|
||||
|
||||
There are two types of declarations in woodmaps.inc. The "A" color_maps
|
||||
are intended as the 1st layer of multi-layer textures, but many work
|
||||
well by themselves, as well.
|
||||
|
||||
The "B" color_maps contain transparent colors and are intended for
|
||||
use as top layers to influence the "A" maps.
|
||||
|
||||
|
||||
The wood textures
|
||||
=================
|
||||
Here the various P_WoodGrainx textures are combined with color_maps to
|
||||
create textures named T_Wood1 through T_Wood30.
|
||||
|
||||
|
||||
General
|
||||
=======
|
||||
Wood textures are designed with the major axis of the woodgrain
|
||||
"cylinder" aligned along the Z axis. With the exception of the few
|
||||
of the textures below that have a small amount of x-axis rotation
|
||||
built-in, the textures below will exhibit a very straight grain
|
||||
pattern unless you apply a small amount of x-axis rotation to them
|
||||
(generally 2 to 4 degrees seems to work well).
|
||||
*/
|
||||
|
||||
#ifndef(Woods_Inc_Temp)
|
||||
#declare Woods_Inc_Temp=version;
|
||||
#version 3.5;
|
||||
|
||||
#ifdef(View_POV_Include_Stack)
|
||||
#debug "including woods.inc\n"
|
||||
#end
|
||||
|
||||
#include "woodmaps.inc"
|
||||
|
||||
|
||||
#declare P_WoodGrain1A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.04
|
||||
octaves 3
|
||||
scale <0.05, .05, 1>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain1B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.1, 0.5, 1>
|
||||
octaves 5
|
||||
lambda 3.25
|
||||
scale <0.15, .5, 1>
|
||||
rotate <5, 10, 5>
|
||||
translate -x*2
|
||||
}
|
||||
|
||||
#declare P_WoodGrain2A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.04
|
||||
octaves 3
|
||||
scale <0.15, .15, 1>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain2B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.1, 0.35, 0.1>
|
||||
octaves 5
|
||||
lambda 3.25
|
||||
scale <0.25, .25, 1>
|
||||
rotate <5, 10, 5>
|
||||
translate -x*2
|
||||
}
|
||||
|
||||
#declare P_WoodGrain3A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.04
|
||||
octaves 3
|
||||
scale <0.05, .05, 1>
|
||||
rotate <2,2,0>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain3B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.1, 0.5, 1>
|
||||
octaves 5
|
||||
lambda 3.25
|
||||
scale <0.15, .5, 1>
|
||||
rotate <5, 10, 5>
|
||||
translate -x*2
|
||||
}
|
||||
|
||||
#declare P_WoodGrain4A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.04
|
||||
octaves 4
|
||||
omega 1.25
|
||||
scale <0.15, .15, 1>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain4B =
|
||||
pigment {
|
||||
bozo
|
||||
turbulence <0.03, 0.03, 0.1>
|
||||
octaves 5
|
||||
lambda 3.25
|
||||
scale <0.025, .025, 1.0>
|
||||
}
|
||||
#declare P_WoodGrain5A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.04, 0.04, 0.1>
|
||||
octaves 4
|
||||
omega 1.25
|
||||
scale <0.15, .15, 1>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain5B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.025, 0.025, 0.1>
|
||||
octaves 4
|
||||
omega 1.3
|
||||
scale <0.30, .20, 1>
|
||||
translate <0.1, 0.1, 0.20>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain6A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.05, 0.08, 1>
|
||||
octaves 4
|
||||
scale <0.15, .15, 1>
|
||||
translate -x*100
|
||||
}
|
||||
|
||||
#declare P_WoodGrain6B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.05, 0.05, 0>
|
||||
octaves 4
|
||||
omega 0.95
|
||||
scale <0.20, 0.20, 1>
|
||||
rotate x*20
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain7A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.05, 0.08, 1000>
|
||||
octaves 4
|
||||
scale <0.15, .15, 1>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain7B =
|
||||
pigment {
|
||||
bozo
|
||||
scale <0.01, 0.01, 100000>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain8A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.04
|
||||
octaves 3
|
||||
scale <0.05, .05, 1>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain8B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.04, 0.04, 1>
|
||||
octaves 4
|
||||
scale <0.05, 0.05, 1> * 0.66
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain9A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.1
|
||||
octaves 4
|
||||
lambda 3
|
||||
scale 0.2
|
||||
rotate <0.125, 0.125, 0>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain9B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.1
|
||||
octaves 4
|
||||
lambda 3.5
|
||||
scale 0.2
|
||||
rotate <0.125, 0.125, 0>
|
||||
translate <0.015, 0.015, 0.015>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain10A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.02
|
||||
octaves 4
|
||||
lambda 3
|
||||
scale 0.175
|
||||
rotate <2, 2, 0>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain10B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.02
|
||||
octaves 4
|
||||
lambda 2.8
|
||||
scale 0.2
|
||||
rotate <2, 2, 0>
|
||||
translate <0.0175, 0.0175, 0.0175>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain11A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.02
|
||||
scale 0.1
|
||||
translate <10, 0, 0>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain11B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.01
|
||||
scale 0.5
|
||||
translate <10, 0, 0>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain12A =
|
||||
pigment {
|
||||
bozo
|
||||
turbulence 0.04
|
||||
lambda 2.5
|
||||
omega 0.1
|
||||
octaves 7
|
||||
scale <0.5, 0.05, 0.05>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain12B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence <0.1, 0.04, 1>
|
||||
scale <0.15, 0.5, 1>
|
||||
// translate <10, 0, 0>
|
||||
rotate x*2
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain13A =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.02
|
||||
scale 0.1
|
||||
translate <10, 0, 0>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain13B =
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.01
|
||||
scale 0.05
|
||||
// translate <10, 0, 0>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain14A =
|
||||
pigment {
|
||||
wood
|
||||
colour_map { M_Wood14A }
|
||||
turbulence 0.065
|
||||
octaves 2
|
||||
scale <0.15, .15, 1>
|
||||
translate < -1 0 0 >
|
||||
rotate <-3, -3, 0>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain14B=
|
||||
pigment {
|
||||
wood
|
||||
colour_map { M_Wood14B }
|
||||
turbulence <0, 0.1, 0>
|
||||
lambda 2.75
|
||||
omega 1.15
|
||||
octaves 4
|
||||
scale <5, 0.075, 1>
|
||||
rotate x*90
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain15A =
|
||||
pigment {
|
||||
bozo
|
||||
colour_map { M_Wood15A }
|
||||
turbulence 0.04
|
||||
scale <0.05 0.05 1>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain15B =
|
||||
pigment {
|
||||
wood
|
||||
colour_map { M_Wood15B }
|
||||
scale <0.20 0.20 1>
|
||||
turbulence 0.04
|
||||
rotate <-2, 2, 0>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain16A =
|
||||
pigment {
|
||||
bozo
|
||||
colour_map { M_Wood16A }
|
||||
turbulence 0.04
|
||||
scale <0.02 0.02 1>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain16B =
|
||||
pigment {
|
||||
wood
|
||||
colour_map { M_Wood16B }
|
||||
scale <0.075 0.075 1>
|
||||
turbulence 0.035
|
||||
rotate <-2, 2, 0>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain17A =
|
||||
pigment {
|
||||
wood
|
||||
colour_map { M_Wood17A }
|
||||
turbulence 0.04
|
||||
omega 0.4
|
||||
scale <0.1 0.1 1>
|
||||
rotate -x*4
|
||||
}
|
||||
|
||||
#declare P_WoodGrain17B =
|
||||
pigment {
|
||||
wood
|
||||
colour_map { M_Wood17B }
|
||||
turbulence 0.05
|
||||
omega 0.65
|
||||
scale <0.2 0.2 1>
|
||||
rotate -x*2
|
||||
}
|
||||
|
||||
#declare P_WoodGrain18A =
|
||||
pigment {
|
||||
wood
|
||||
colour_map { M_Wood18A }
|
||||
turbulence 0.02
|
||||
octaves 4
|
||||
lambda 4
|
||||
// scale 0.3
|
||||
scale 0.1
|
||||
rotate <2, 0, 0>
|
||||
}
|
||||
|
||||
|
||||
#declare P_WoodGrain18B =
|
||||
pigment {
|
||||
wood
|
||||
colour_map { M_Wood18B }
|
||||
turbulence 0.02
|
||||
octaves 6
|
||||
lambda 2.8
|
||||
omega 0.6
|
||||
// scale 0.1
|
||||
scale 0.05
|
||||
rotate <2, 0, 0>
|
||||
}
|
||||
|
||||
#declare P_WoodGrain19A =
|
||||
pigment {
|
||||
wood
|
||||
scale <0.075, 0.075, 1>
|
||||
turbulence 0.065
|
||||
omega 0.45
|
||||
lambda 2.3
|
||||
color_map { M_Wood19A }
|
||||
rotate x*4
|
||||
}
|
||||
#declare P_WoodGrain19B =
|
||||
pigment {
|
||||
bozo
|
||||
color_map { M_Wood19B }
|
||||
scale <0.013, 0.013, 0.75>
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Natural oak (light)
|
||||
#declare T_Wood1 =
|
||||
texture { pigment { P_WoodGrain1A color_map { M_Wood1A }}}
|
||||
texture { pigment { P_WoodGrain1B color_map { M_Wood1B }}}
|
||||
|
||||
// Dark brown
|
||||
#declare T_Wood2 =
|
||||
texture { pigment { P_WoodGrain2A color_map { M_Wood2A }}}
|
||||
texture { pigment { P_WoodGrain2B color_map { M_Wood2B }}}
|
||||
|
||||
// Bleached oak (white)
|
||||
#declare T_Wood3 =
|
||||
texture { pigment { P_WoodGrain3A color_map { M_Wood3A }}}
|
||||
texture { pigment { P_WoodGrain3B color_map { M_Wood3B }}}
|
||||
|
||||
// Mahogany (purplish-red)
|
||||
#declare T_Wood4 =
|
||||
texture { pigment { P_WoodGrain4A color_map { M_Wood4A }}}
|
||||
texture { pigment { P_WoodGrain4B color_map { M_Wood4B }}}
|
||||
|
||||
// Dark yellow with reddish overgrain
|
||||
#declare T_Wood5 =
|
||||
texture { pigment { P_WoodGrain5A color_map { M_Wood5A }}}
|
||||
texture { pigment { P_WoodGrain5B color_map { M_Wood5B }}}
|
||||
|
||||
// Cocabola (red)
|
||||
#declare T_Wood6 =
|
||||
texture { pigment { P_WoodGrain6A color_map { M_Wood6A }}}
|
||||
texture { pigment { P_WoodGrain6B color_map { M_Wood6B }}}
|
||||
|
||||
// Yellow pine (ragged grain)
|
||||
#declare T_Wood7 =
|
||||
texture { pigment { P_WoodGrain7A color_map { M_Wood7A }}}
|
||||
texture { pigment { P_WoodGrain7B color_map { M_Wood7B }}}
|
||||
|
||||
// Dark brown. Walnut?
|
||||
#declare T_Wood8 =
|
||||
texture { pigment { P_WoodGrain8A color_map { M_Wood8A }}}
|
||||
texture { pigment { P_WoodGrain8B color_map { M_Wood8B }}}
|
||||
|
||||
// Yellowish-brown burl (heavily turbulated)
|
||||
#declare T_Wood9 =
|
||||
texture { pigment { P_WoodGrain9A color_map { M_Wood9A }}}
|
||||
texture { pigment { P_WoodGrain9B color_map { M_Wood9B }}}
|
||||
|
||||
// Soft pine (light yellow, smooth grain)
|
||||
#declare T_Wood10 =
|
||||
texture { pigment{ P_WoodGrain10A color_map { M_Wood10A }}}
|
||||
texture { pigment{ P_WoodGrain10B color_map { M_Wood10B }}}
|
||||
|
||||
// Spruce (yellowish, very straight, fine grain)
|
||||
#declare T_Wood11 =
|
||||
texture { pigment{ P_WoodGrain11A color_map { M_Wood11A }}}
|
||||
texture { pigment{ P_WoodGrain11B color_map { M_Wood11B }}}
|
||||
|
||||
// Another very dark brown. Walnut-stained pine, perhaps?
|
||||
#declare T_Wood12 =
|
||||
texture { pigment{ P_WoodGrain12A color_map { M_Wood12A }}}
|
||||
texture { pigment{ P_WoodGrain12B color_map { M_Wood12B }}}
|
||||
|
||||
// Very straight grained, whitish
|
||||
#declare T_Wood13 =
|
||||
texture { pigment{ P_WoodGrain13A color_map { M_Wood13A }}}
|
||||
texture { pigment{ P_WoodGrain13B color_map { M_Wood13B }}}
|
||||
|
||||
// Red, rough grain
|
||||
#declare T_Wood14 =
|
||||
texture { pigment{ P_WoodGrain14A color_map { M_Wood14A }}}
|
||||
texture { pigment{ P_WoodGrain14B color_map { M_Wood14B }}}
|
||||
|
||||
// Medium brown
|
||||
#declare T_Wood15 =
|
||||
texture { pigment{ P_WoodGrain15A color_map { M_Wood15A }}}
|
||||
texture { pigment{ P_WoodGrain15B color_map { M_Wood15B }}}
|
||||
|
||||
// Medium brown
|
||||
#declare T_Wood16 =
|
||||
texture { pigment{ P_WoodGrain16A color_map { M_Wood16A }}}
|
||||
texture { pigment{ P_WoodGrain16B color_map { M_Wood16B }}}
|
||||
|
||||
// Medium brown
|
||||
#declare T_Wood17 =
|
||||
texture { pigment{ P_WoodGrain17A color_map { M_Wood17A }}}
|
||||
texture { pigment{ P_WoodGrain17B color_map { M_Wood17B }}}
|
||||
|
||||
// Orange
|
||||
#declare T_Wood18 =
|
||||
texture { pigment{ P_WoodGrain18A color_map { M_Wood18A }}}
|
||||
texture { pigment{ P_WoodGrain18B color_map { M_Wood18B }}}
|
||||
|
||||
// Golden Oak.
|
||||
// M_Woods 1,3,7,8,10,14,15,17,18,19 work well, also.
|
||||
#declare T_Wood19 =
|
||||
texture { pigment{ P_WoodGrain19A color_map { M_Wood19A }}}
|
||||
texture { pigment{ P_WoodGrain19B color_map { M_Wood19B }}}
|
||||
|
||||
#declare T_Wood20 =
|
||||
texture { pigment{ P_WoodGrain19A color_map { M_Wood19A }}}
|
||||
texture { pigment{ P_WoodGrain19B color_map { M_Wood19B }}}
|
||||
|
||||
#declare T_Wood21 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood11A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood11B }}}
|
||||
|
||||
#declare T_Wood22 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood12A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood12B }}}
|
||||
|
||||
#declare T_Wood23 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood13A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood13B }}}
|
||||
|
||||
#declare T_Wood24 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood14A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood14B }}}
|
||||
|
||||
#declare T_Wood25 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood15A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood15B }}}
|
||||
|
||||
#declare T_Wood26 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood16A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood16B }}}
|
||||
|
||||
#declare T_Wood27 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood17A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood17B }}}
|
||||
|
||||
#declare T_Wood28 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood18A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood18B }}}
|
||||
|
||||
#declare T_Wood29 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood19A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood19B }}}
|
||||
|
||||
#declare T_Wood30 =
|
||||
texture { pigment{ P_WoodGrain1A color_map { M_Wood1A }}}
|
||||
texture { pigment{ P_WoodGrain1B color_map { M_Wood1B }}}
|
||||
|
||||
// A light tan wood - heavily grained (variable coloration)
|
||||
#declare T_Wood31=
|
||||
texture {
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.045
|
||||
scale 0.125
|
||||
color_map {
|
||||
[0.10 color rgbt <0.49020, 0.22353, 0.00000, 0.00>]
|
||||
[0.16 color rgbt <0.71863, 0.69412, 0.46275, 0.00>]
|
||||
[0.20 color rgbt <0.49020, 0.22353, 0.00000, 0.00>]
|
||||
[0.25 color rgbt <0.76863, 0.69412, 0.46275, 0.00>]
|
||||
[0.32 color rgbt <0.44020, 0.22353, 0.00000, 0.00>]
|
||||
[0.37 color rgbt <0.74863, 0.69412, 0.46275, 0.00>]
|
||||
[0.40 color rgbt <0.49020, 0.20353, 0.00000, 0.00>]
|
||||
[0.45 color rgbt <0.76863, 0.66412, 0.48275, 0.00>]
|
||||
[0.51 color rgbt <0.49020, 0.22353, 0.00000, 0.00>]
|
||||
[0.55 color rgbt <0.76863, 0.67059, 0.37255, 0.00>]
|
||||
[0.61 color rgbt <0.49020, 0.25353, 0.00000, 0.00>]
|
||||
[0.65 color rgbt <0.76863, 0.67059, 0.37255, 0.00>]
|
||||
[0.70 color rgbt <0.49020, 0.22353, 0.00000, 0.00>]
|
||||
[0.75 color rgbt <0.76863, 0.63059, 0.37255, 0.00>]
|
||||
[0.82 color rgbt <0.49020, 0.22353, 0.00000, 0.00>]
|
||||
[0.88 color rgbt <0.77863, 0.67059, 0.37255, 0.00>]
|
||||
[0.91 color rgbt <0.49020, 0.22353, 0.00000, 0.00>]
|
||||
[0.95 color rgbt <0.79863, 0.67059, 0.39550, 0.00>]
|
||||
[1.00 color rgbt <0.48020, 0.22353, 0.00000, 0.00>]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//A rich dark reddish wood, like rosewood, with smooth-flowing grain
|
||||
#declare T_Wood32=
|
||||
texture {
|
||||
pigment {
|
||||
wood turbulence 0.04
|
||||
scale 0.15
|
||||
color_map {
|
||||
[0.15 color rgbt <0.38039, 0.14902, 0.0, 0.0>]
|
||||
[0.25 color rgbt <0.23539, 0.00000, 0.0, 0.0>]
|
||||
[0.35 color rgbt <0.38139, 0.14912, 0.0, 0.0>]
|
||||
[0.45 color rgbt <0.23549, 0.00000, 0.0, 0.0>]
|
||||
[0.55 color rgbt <0.38139, 0.14902, 0.0, 0.0>]
|
||||
[0.65 color rgbt <0.23559, 0.00000, 0.0, 0.0>]
|
||||
[0.75 color rgbt <0.38139, 0.14922, 0.0, 0.0>]
|
||||
[0.85 color rgbt <0.23549, 0.00000, 0.0, 0.0>]
|
||||
[0.95 color rgbt <0.38039, 0.14902, 0.0, 0.0>]
|
||||
[0.90 color rgbt <0.23539, 0.00000, 0.0, 0.0>]
|
||||
[1.00 color rgbt <0.38039, 0.14932, 0.0, 0.0>]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Similar to T_WoodB, but brighter
|
||||
#declare T_Wood33=
|
||||
texture {
|
||||
pigment {
|
||||
wood turbulence 0.0425
|
||||
scale 0.2
|
||||
color_map {
|
||||
[0.05 color rgbt <0.55294, 0.21176, 0.00000, 0.0>]
|
||||
[0.15 color rgbt <0.32549, 0.13725, 0.00000, 0.0>]
|
||||
[0.25 color rgbt <0.55294, 0.21176, 0.00000, 0.0>]
|
||||
[0.35 color rgbt <0.32549, 0.11765, 0.00000, 0.0>]
|
||||
[0.48 color rgbt <0.55294, 0.21176, 0.00000, 0.0>]
|
||||
[0.55 color rgbt <0.29412, 0.13725, 0.01176, 0.0>]
|
||||
[0.65 color rgbt <0.55294, 0.21176, 0.00000, 0.0>]
|
||||
[0.78 color rgbt <0.32549, 0.13725, 0.00000, 0.0>]
|
||||
[0.85 color rgbt <0.55294, 0.21176, 0.00000, 0.0>]
|
||||
[0.96 color rgbt <0.28627, 0.13725, 0.00000, 0.0>]
|
||||
[1.00 color rgbt <0.54510, 0.17647, 0.03529, 0.0>]
|
||||
}
|
||||
translate <.015, 0, 0>
|
||||
}
|
||||
}
|
||||
|
||||
// Reddish-orange, large, smooth grain.
|
||||
#declare T_Wood34 =
|
||||
texture { T_Wood32 } // opaque under-layer
|
||||
texture {
|
||||
pigment {
|
||||
onion
|
||||
turbulence 0.2125
|
||||
colour_map {
|
||||
[0.225 colour rgbt <1.000000, 0.53333, 0.11767, 0.4875>]
|
||||
[0.350 colour rgbt <0.662750, 0.28617, 0.00001, 0.7250>]
|
||||
[0.500 colour rgbt <1.000100, 0.53333, 0.11765, 0.5745>]
|
||||
[0.625 colour rgbt <0.662775, 0.28627, 0.00005, 0.6875>]
|
||||
[0.750 colour rgbt <1.000200, 0.53333, 0.11755, 0.5275>]
|
||||
[0.875 colour rgbt <0.662755, 0.28629, 0.00001, 0.3795>]
|
||||
[1.000 colour rgbt <1.000000, 0.53333, 0.11665, 0.6165>]
|
||||
}
|
||||
scale <0.225, 0.20, 1.15>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Orangish, with a grain more like a veneer than a plank
|
||||
#declare T_Wood35=
|
||||
texture {
|
||||
pigment {
|
||||
wood
|
||||
turbulence 0.03725
|
||||
omega 0.65725
|
||||
lambda 2.425
|
||||
color_map {
|
||||
[0.250 color rgbt <1.00000, 0.53373, 0.11665, 0.000>]
|
||||
[0.350 color rgbt <0.66275, 0.28607, 0.00000, 0.000>]
|
||||
[0.525 color rgbt <1.00000, 0.53363, 0.11715, 0.000>]
|
||||
[0.600 color rgbt <0.66475, 0.28647, 0.00000, 0.000>]
|
||||
[0.750 color rgbt <1.00000, 0.53353, 0.11565, 0.000>]
|
||||
[0.850 color rgbt <0.66275, 0.28667, 0.00000, 0.000>]
|
||||
[1.000 color rgbt <1.00000, 0.53143, 0.11795, 0.000>]
|
||||
}
|
||||
scale <0.25, 0.225, 1.0>
|
||||
}
|
||||
}
|
||||
texture {
|
||||
pigment {
|
||||
wood
|
||||
scale 1.01275
|
||||
turbulence 0.0435
|
||||
omega 0.65
|
||||
lambda 3.15
|
||||
color_map {
|
||||
[0.200 color rgbt <0.56695, 0.17347, 0.00000, 0.8250>]
|
||||
[0.350 color rgbt <0.96471, 0.54510, 0.22753, 0.7710>]
|
||||
[0.400 color rgbt <0.56341, 0.17547, 0.00000, 0.9150>]
|
||||
[0.615 color rgbt <0.96472, 0.54510, 0.22553, 0.7590>]
|
||||
[0.700 color rgbt <0.56671, 0.17687, 0.00000, 0.7920>]
|
||||
[0.850 color rgbt <0.96485, 0.54510, 0.22453, 0.8975>]
|
||||
[1.000 color rgbt <0.56478, 0.17247, 0.00000, 0.9750>]
|
||||
}
|
||||
scale <0.225, 0.2725, 1.0>
|
||||
translate <-0.35, 0.095, 1.25>
|
||||
}
|
||||
}
|
||||
|
||||
#version Woods_Inc_Temp;
|
||||
#end
|
||||
24
distribution/ini/allanim.ini
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
Fatal_Error_Command=command /C type fatal.out>>allscene.err
|
||||
Fatal_File=on
|
||||
-P +b100 +X100 +a0.05 +r4 -j
|
||||
+mb1
|
||||
res120
|
||||
-d +v
|
||||
-oallscene\
|
||||
Pre_Scene_Command=exists %p%s.flc
|
||||
Pre_Scene_Return=-q
|
||||
|
||||
Output_to_File=On
|
||||
Pre_Scene_Command=exists %p%s.flc ;;If myfile.flc already exists
|
||||
Pre_Scene_Return=-q ;; skip entire scene
|
||||
Pre_Frame_Command=pkzip -vb %p%s %o ;;Test if myfile.tga in myfile.zip
|
||||
Pre_Frame_Return=-s ;; if no error, skip this frame
|
||||
Post_Frame_Command=pkzip -mu %p%s %p%o ;;Move myfile.tga to myfile.zip
|
||||
;; This removes tga from disk
|
||||
Post_Frame_Return=f ;;If error, crash
|
||||
Post_Scene_Command=command /C dta /o%p%s.flc /R%w,%h %p%s.zip ;;make myfile.flc
|
||||
Post_Scene_Return=f ;;If error, crash
|
||||
Pause_When_Done=Off
|
||||
Continue_Trace=On
|
||||
Test_Abort=On
|
||||
17
distribution/ini/allstill.ini
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
Fatal_Error_Command=command /C type fatal.out>>allscene.err
|
||||
User_Abort_Command=command /C Echo get out>userabor.mes
|
||||
Fatal_File=on
|
||||
-P +b100 +X +a0.05 +r4 -j
|
||||
+mb1
|
||||
res320
|
||||
-d +v
|
||||
+Lallscene
|
||||
-oallscene\
|
||||
Pre_Scene_Command=exists userabor.mes
|
||||
Pre_Scene_Return=-q
|
||||
Pre_Frame_Command=exists allscene\%s.gif
|
||||
Pre_Frame_Return=-q
|
||||
Post_Frame_Command=tga2gif -d -m allscene\%s
|
||||
Post_Scene_Command=command /C del allscene\%s.tga
|
||||
+c
|
||||
6
distribution/ini/low.ini
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; LOW.INI
|
||||
;;
|
||||
Quality=4
|
||||
Width=120
|
||||
Height=90
|
||||
30
distribution/ini/pngflc.ini
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; PNGFLC.INI
|
||||
;;
|
||||
;; Assuming Input_File=myfile.pov
|
||||
;; this INI creates a myfile??.png output files
|
||||
;; and then creates myfile.flc from it.
|
||||
;;
|
||||
;; Requires dta.exe to create flc
|
||||
;; Requires exists.exe which is included in POV-Ray distribution.
|
||||
;; If exists.exe is not available, comment out both Pre_Scene_... lines.
|
||||
;;
|
||||
|
||||
Output_to_File=On
|
||||
Output_File_Type=n
|
||||
Pre_Frame_Command=
|
||||
Pre_Frame_Return=
|
||||
Post_Frame_Command=
|
||||
Post_Frame_Return=
|
||||
Pre_Scene_Command=exists %s.flc ;;If myfile.flc already exists
|
||||
Pre_Scene_Return=-q ;; skip entire scene
|
||||
;;
|
||||
;; There is an unsolved problem when running dta directly.
|
||||
;; Preliminary results show that calling it via command.com fixes
|
||||
;; the problem but as yet, we don't know why.
|
||||
;;
|
||||
Post_Scene_Command=command /C dta /o%s.flc /R%w,%h %s*.png ;;make myfile.flc
|
||||
Post_Scene_Return=f ;;If error, crash
|
||||
Pause_When_Done=Off
|
||||
Continue_Trace=On ;;Lets you resume
|
||||
Test_Abort=On ;;Lets you interrupt
|
||||
30
distribution/ini/pngfli.ini
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; PNGFLI.INI
|
||||
;;
|
||||
;; Assuming Input_File=myfile.pov
|
||||
;; this INI creates a myfile??.png output files
|
||||
;; and then creates myfile.fli from it.
|
||||
;;
|
||||
;; Requires dta.exe to create fli
|
||||
;; Requires exists.exe which is included in POV-Ray distribution.
|
||||
;; If exists.exe is not available, comment out both Pre_Scene_... lines.
|
||||
;;
|
||||
|
||||
Output_to_File=On
|
||||
Output_File_Type=n
|
||||
Pre_Frame_Command=
|
||||
Pre_Frame_Return=
|
||||
Post_Frame_Command=
|
||||
Post_Frame_Return=
|
||||
Pre_Scene_Command=exists %s.fli ;;If myfile.fli already exists
|
||||
Pre_Scene_Return=-q ;; skip entire scene
|
||||
;;
|
||||
;; There is an unsolved problem when running dta directly.
|
||||
;; Preliminary results show that calling it via command.com fixes
|
||||
;; the problem but as yet, we don't know why.
|
||||
;;
|
||||
Post_Scene_Command=command /C dta /o%s.fli /R1 %s*.png ;;make myfile.fli
|
||||
Post_Scene_Return=f ;;If error, crash
|
||||
Pause_When_Done=Off
|
||||
Continue_Trace=On ;;Lets you resume
|
||||
Test_Abort=On ;;Lets you interrupt
|
||||
55
distribution/ini/povray.ini
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
; PERSISTENCE OF VISION RAY TRACER
|
||||
;
|
||||
; POV-Ray VERSION 3.7
|
||||
;
|
||||
; SAMPLE POVRAY.INI FILE
|
||||
;
|
||||
; The general form of the options is "Variable=value". Everything
|
||||
; between the equals sign and the end of the line is considered part
|
||||
; of the value. The spacing and layout is free-form but only one option
|
||||
; per line is allowed. Variables and values are not case-sensitive.
|
||||
;
|
||||
; Note: characters after a semi-colon are treated as a comment
|
||||
;
|
||||
; Traditional POV-Ray switches beginning with + or - are also allowed
|
||||
; and they may be given with more than one switch per line.
|
||||
;
|
||||
; Add your own options at the bottom and/or edit these to suit. See the
|
||||
; general documentation for full instructions on how to use INI options.
|
||||
;
|
||||
; Width of image in pixels. Accepts integer values.
|
||||
;
|
||||
Width = 800
|
||||
;
|
||||
;
|
||||
; Height of image in pixels. Accepts integer values.
|
||||
;
|
||||
Height = 600
|
||||
;
|
||||
; Sets minimum number of objects before auto bounding kicks in.
|
||||
;
|
||||
Bounding_Threshold = 3
|
||||
;
|
||||
;
|
||||
; Turn display on
|
||||
Display=On
|
||||
;
|
||||
; Turn verbose mode on
|
||||
Verbose=On
|
||||
;
|
||||
;
|
||||
; Specify path to search for any files not found in current directory.
|
||||
; For example: Library_Path="C:\Program Files\POV-Ray for Windows\include"
|
||||
; There may be some entries already here; if there are they were
|
||||
; probably added by the install process or whoever set up the
|
||||
; software for you. At the least you can expect an entry that
|
||||
; points to the standard POV-Ray include files directory; on
|
||||
; some operating systems there may also be one which points to
|
||||
; the system's fonts directory.
|
||||
;
|
||||
; Note that some platforms (e.g. Windows, unless this feature is
|
||||
; turned off via the configuration file) will automatically append
|
||||
; standard locations like those mentioned above to the library
|
||||
; path list after reading this file, so in those cases you don't
|
||||
; necessarily have to have anything at all here.
|
||||
;
|
||||
174
distribution/ini/quickres.ini
Normal file
|
|
@ -0,0 +1,174 @@
|
|||
[160x120, No AA]
|
||||
Width=160
|
||||
Height=120
|
||||
Antialias=Off
|
||||
|
||||
[160x120, AA 0.3]
|
||||
Width=160
|
||||
Height=120
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[256x144, 16:9 No AA]
|
||||
Width=256
|
||||
Height=144
|
||||
Antialias=Off
|
||||
|
||||
[256x144,16:9 AA 0.3]
|
||||
Width=256
|
||||
Height=144
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[320x240, No AA, mosaic]
|
||||
Width=320
|
||||
Height=240
|
||||
Antialias=Off
|
||||
+SP16
|
||||
+EP1
|
||||
|
||||
[320x240, No AA]
|
||||
Width=320
|
||||
Height=240
|
||||
Antialias=Off
|
||||
|
||||
[320x240, AA 0.3]
|
||||
Width=320
|
||||
Height=240
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[480x270, 16:9 No AA]
|
||||
Width=480
|
||||
Height=270
|
||||
Antialias=Off
|
||||
|
||||
[480x270, 16:9 AA 0.3]
|
||||
Width=480
|
||||
Height=270
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[512x384, No AA]
|
||||
Width=512
|
||||
Height=384
|
||||
Antialias=Off
|
||||
|
||||
[512x384, AA 0.3]
|
||||
Width=512
|
||||
Height=384
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[640x480, quick, mosaic]
|
||||
Width=640
|
||||
Height=480
|
||||
Antialias=Off
|
||||
Quality=4
|
||||
+SP16
|
||||
|
||||
[640x480, No AA, mosaic]
|
||||
Width=640
|
||||
Height=480
|
||||
Antialias=Off
|
||||
+SP16
|
||||
|
||||
[640x480, No AA]
|
||||
Width=640
|
||||
Height=480
|
||||
Antialias=Off
|
||||
|
||||
[640x480, AA 0.3]
|
||||
Width=640
|
||||
Height=480
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[720x400, 16:9,mosaic,No AA]
|
||||
Width=720
|
||||
Height=400
|
||||
Antialias=Off
|
||||
+SP16
|
||||
|
||||
[720x400, 16:9 No AA]
|
||||
Width=720
|
||||
Height=400
|
||||
Antialias=Off
|
||||
|
||||
[720x400, 16:9, AA 0.3]
|
||||
Width=720
|
||||
Height=400
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[800x600, No AA]
|
||||
Width=800
|
||||
Height=600
|
||||
Antialias=Off
|
||||
|
||||
[800x600, AA 0.3]
|
||||
Width=800
|
||||
Height=600
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[1024x768, No AA]
|
||||
Width=1024
|
||||
Height=768
|
||||
Antialias=Off
|
||||
|
||||
[1024x768, AA 0.3]
|
||||
Width=1024
|
||||
Height=768
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[1280x1024, AA 0.3]
|
||||
Width=1280
|
||||
Height=1024
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[1280x720, 16:9 No AA]
|
||||
Width=1280
|
||||
Height=720
|
||||
Antialias=Off
|
||||
|
||||
[1280x720, 16:9, AA 0.3]
|
||||
Width=1280
|
||||
Height=720
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[1280x1024, 5:4, No AA]
|
||||
Width=1280
|
||||
Height=1024
|
||||
Antialias=Off
|
||||
|
||||
[1280x1024, 5:4, AA 0.3]
|
||||
Width=1280
|
||||
Height=1024
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[1600x1200, No AA]
|
||||
Width=1600
|
||||
Height=1200
|
||||
Antialias=Off
|
||||
|
||||
[1600x1200, AA 0.3]
|
||||
Width=1600
|
||||
Height=1200
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
|
||||
[1920x1080, 16:9, No AA]
|
||||
Width=1920
|
||||
Height=1080
|
||||
Antialias=Off
|
||||
|
||||
[1920x1080 16:9 AA 0.3]
|
||||
Width=1920
|
||||
Height=1080
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.3
|
||||
5
distribution/ini/res120.ini
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; RES120.INI
|
||||
;;
|
||||
Width=120
|
||||
Height=90
|
||||
5
distribution/ini/res1k.ini
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; RES1K.INI
|
||||
;;
|
||||
Width=1024
|
||||
Height=768
|
||||
5
distribution/ini/res320.ini
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; RES320.INI
|
||||
;;
|
||||
Width=320
|
||||
Height=200
|
||||
5
distribution/ini/res640.ini
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; RES640.INI
|
||||
;;
|
||||
Width=640
|
||||
Height=480
|
||||
5
distribution/ini/res800.ini
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; RES800.INI
|
||||
;;
|
||||
Width=800
|
||||
Height=600
|
||||
9
distribution/ini/slow.ini
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; SLOW.INI
|
||||
;;
|
||||
Quality=11
|
||||
Antialias_Depth=3
|
||||
Antialias=On
|
||||
Antialias_Threshold=0.1
|
||||
Jitter_Amount=0.5
|
||||
Jitter=On
|
||||
30
distribution/ini/tgaflc.ini
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; TGAFLC.INI
|
||||
;;
|
||||
;; Assuming Input_File=myfile.pov
|
||||
;; this INI creates a myfile??.tga output files
|
||||
;; and then creates myfile.flc from it.
|
||||
;;
|
||||
;; Requires dta.exe to create flc
|
||||
;; Requires exists.exe which is included in POV-Ray distribution.
|
||||
;; If exists.exe is not available, comment out both Pre_Scene_... lines.
|
||||
;;
|
||||
|
||||
Output_to_File=On
|
||||
Output_File_Type=t
|
||||
Pre_Frame_Command=
|
||||
Pre_Frame_Return=
|
||||
Post_Frame_Command=
|
||||
Post_Frame_Return=
|
||||
Pre_Scene_Command=exists %s.flc ;;If myfile.flc already exists
|
||||
Pre_Scene_Return=-q ;; skip entire scene
|
||||
;;
|
||||
;; There is an unsolved problem when running dta directly.
|
||||
;; Preliminary results show that calling it via command.com fixes
|
||||
;; the problem but as yet, we don't know why.
|
||||
;;
|
||||
Post_Scene_Command=command /C dta /o%s.flc /R%w,%h %s*.tga ;;make myfile.flc
|
||||
Post_Scene_Return=f ;;If error, crash
|
||||
Pause_When_Done=Off
|
||||
Continue_Trace=On ;;Lets you resume
|
||||
Test_Abort=On ;;Lets you interrupt
|
||||
30
distribution/ini/tgafli.ini
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; TGAFLI.INI
|
||||
;;
|
||||
;; Assuming Input_File=myfile.pov
|
||||
;; this INI creates a myfile??.tga output files
|
||||
;; and then creates myfile.fli from it.
|
||||
;;
|
||||
;; Requires dta.exe to create fli
|
||||
;; Requires exists.exe which is included in POV-Ray distribution.
|
||||
;; If exists.exe is not available, comment out both Pre_Scene_... lines.
|
||||
;;
|
||||
|
||||
Output_to_File=On
|
||||
Output_File_Type=t
|
||||
Pre_Frame_Command=
|
||||
Pre_Frame_Return=
|
||||
Post_Frame_Command=
|
||||
Post_Frame_Return=
|
||||
Pre_Scene_Command=exists %s.fli ;;If myfile.fli already exists
|
||||
Pre_Scene_Return=-q ;; skip entire scene
|
||||
;;
|
||||
;; There is an unsolved problem when running dta directly.
|
||||
;; Preliminary results show that calling it via command.com fixes
|
||||
;; the problem but as yet, we don't know why.
|
||||
;;
|
||||
Post_Scene_Command=command /C dta /o%s.fli /R1 %s*.tga ;;make myfile.fli
|
||||
Post_Scene_Return=f ;;If error, crash
|
||||
Pause_When_Done=Off
|
||||
Continue_Trace=On ;;Lets you resume
|
||||
Test_Abort=On ;;Lets you interrupt
|
||||
31
distribution/ini/zipflc.ini
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; ZIPFLC.INI
|
||||
;;
|
||||
;; Assuming Input_File=myfile.pov
|
||||
;; this INI creates a myfile.zip to hold all output files
|
||||
;; and then creates myfile.flc from it.
|
||||
;;
|
||||
;; Requires pkzip.exe to zip/unzip
|
||||
;; Requires dta.exe to create flc
|
||||
;; Requires exists.exe which is included in POV-Ray distribution.
|
||||
;; If exists.exe is not available, comment out both Pre_Scene_... lines.
|
||||
;;
|
||||
|
||||
Output_to_File=On
|
||||
Pre_Scene_Command=exists %s.flc ;;If myfile.flc already exists
|
||||
Pre_Scene_Return=-q ;; skip entire scene
|
||||
Pre_Frame_Command=pkzip -vb %s %o ;;Test if myfile.tga in myfile.zip
|
||||
Pre_Frame_Return=-s ;; if no error, skip this frame
|
||||
Post_Frame_Command=pkzip -mu %s %o ;;Move myfile.tga to myfile.zip
|
||||
;; This removes tga from disk
|
||||
Post_Frame_Return=f ;;If error, crash
|
||||
;;
|
||||
;; There is an unsolved problem when running dta directly.
|
||||
;; Preliminary results show that calling it via command.com fixes
|
||||
;; the problem but as yet, we don't know why.
|
||||
;;
|
||||
Post_Scene_Command=command /C dta /o%s.flc /R%w,%h %s.zip ;;make myfile.flc
|
||||
Post_Scene_Return=f ;;If error, crash
|
||||
Pause_When_Done=Off
|
||||
Continue_Trace=On ;;Lets you resume
|
||||
Test_Abort=On ;;Lets you interrupt
|
||||
30
distribution/ini/zipfli.ini
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
|
||||
;; ZIPFLI.INI
|
||||
;;
|
||||
;; Assuming Input_File=myfile.pov
|
||||
;; this INI creates a myfile.zip to hold all output files
|
||||
;; and then creates myfile.fli from it.
|
||||
;;
|
||||
;; Requires pkzip.exe to zip/unzip
|
||||
;; Requires dta.exe to create fli
|
||||
;; Requires exists.exe which is included in POV-Ray distribution.
|
||||
;; If exists.exe is not available, comment out both Pre_Scene_... lines.
|
||||
;;
|
||||
|
||||
Pre_Scene_Command=exists %s.fli ;;If myfile.fli already exists
|
||||
Pre_Scene_Return=-q ;; skip entire scene
|
||||
Pre_Frame_Command=pkzip -vb %s %o ;;Test if myfile.tga in myfile.zip
|
||||
Pre_Frame_Return=-s ;; if no error, skip this frame
|
||||
Post_Frame_Command=pkzip -mu %s %o ;;Move myfile.tga to myfile.zip
|
||||
;; This removes tga from disk
|
||||
Post_Frame_Return=f ;;If error, crash
|
||||
;;
|
||||
;; There is an unsolved problem when running dta directly.
|
||||
;; Preliminary results show that calling it via command.com fixes
|
||||
;; the problem but as yet, we don't know why.
|
||||
;;
|
||||
Post_Scene_Command=command /C dta /o%s.fli /R1 %s.zip ;;make myfile.fli
|
||||
Post_Scene_Return=f ;;If error, crash
|
||||
Pause_When_Done=Off
|
||||
Continue_Trace=On ;;Lets you resume
|
||||
Test_Abort=On ;;Lets you interrupt
|
||||
BIN
distribution/platform-specific/windows/Help/povray37.chm
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
distribution/platform-specific/windows/Icons/POV-Ray.Include.ico
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 118 KiB |
BIN
distribution/platform-specific/windows/Icons/POV-Ray.Scene.ico
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
BIN
distribution/platform-specific/windows/Icons/POV-Ray.ico
Normal file
|
After Width: | Height: | Size: 118 KiB |
199
distribution/platform-specific/windows/Ini/pvtools.ini
Normal file
|
|
@ -0,0 +1,199 @@
|
|||
# $File: //depot/public/povray/3.x/distribution/platform-specific/windows/Ini/pvtools.ini $
|
||||
# $Revision: #1 $
|
||||
# $Change: 6069 $
|
||||
# $DateTime: 2013/11/06 11:59:40 $
|
||||
# $Author: chrisc $
|
||||
#
|
||||
# The syntax of entries in PVTOOLS.INI is as follows:
|
||||
#
|
||||
# [Menu]
|
||||
# ItemN=Description
|
||||
#
|
||||
# [Command]
|
||||
# ItemN=command_string
|
||||
#
|
||||
# [Help]
|
||||
# ItemN=help_line
|
||||
#
|
||||
# Where N is a number between 0 and 31, and entries in the [Help] section are optional.
|
||||
#
|
||||
# Item0 ... Item31
|
||||
#
|
||||
# are the item numbers that define the order in which entries appear in the Tools Menu.
|
||||
#
|
||||
# [Menu]
|
||||
#
|
||||
# Entries in the [Menu] section are what actually appears in the Tools Menu. The '&' character
|
||||
# tells Windows where to put the underline in the menu entry. The underlined letter becomes
|
||||
# the abbreviation for the command. For example the letter 'C' in '&Click Me' would become
|
||||
# 'Click Me' when displayed in the Tools Menu, and you could access the command by pressing Alt+T
|
||||
# and then 'C'. (Alt+T activates the Tools Menu).
|
||||
#
|
||||
# You should make sure that all Tools Menu entries have different abbreviations if you intend to
|
||||
# access them this way. Of course, you don't have to supply any abbreviation if you don't want to.
|
||||
#
|
||||
# [Command]
|
||||
#
|
||||
# This is the command that POV-Ray will execute for that entry. This can be a Windows EXE, a batch
|
||||
# file, or anything else that may be executed by the Win32 ShellExecute() API call. The command
|
||||
# consists of the actual command name followed by any parameters you want to supply to the program.
|
||||
#
|
||||
# There are two special commands, '$S' and '$E'. $S means 'use the shell association for the
|
||||
# filename that follows it', and '$E' means 'open the following file in the internal POVWIN editor'.
|
||||
#
|
||||
# Let's look at an example -
|
||||
#
|
||||
# Item4=$S %1
|
||||
#
|
||||
# Since %1 refers to the output file (see below) this means that Item 4 of the tools menu expands
|
||||
# to a command to Windows to open the last output file with whatever program is associated with it.
|
||||
#
|
||||
# For example, if the last output file was 'c:\images\torus4.bmp' then the above command example
|
||||
# would use whatever program is associated with BMP files (i.e. the program that Windows runs if
|
||||
# you double-clicked on the TORUS4.BMP file in Windows Explorer) to open it.
|
||||
#
|
||||
# Note: If using the special $S or $E commands, DO NOT quote the parameters with '"', even if they
|
||||
# will have spaces in them. Both of these commands may only be supplied a single parameter, which
|
||||
# is taken to be the entire line following the command.
|
||||
#
|
||||
# POV-Ray for Windows has a number of pre-defined parameters that you can substitute into the command
|
||||
# line before the program is run. These are defined by a percent sign ('%') followed by a letter or
|
||||
# number. For example, '%i' means substitute the POV-Ray for Windows INI file directory in the place
|
||||
# of the '%i'.
|
||||
#
|
||||
# Let's look at the command:
|
||||
#
|
||||
# notepad.exe %ipvtools.txt
|
||||
#
|
||||
# If you had installed POV-Ray for Windows into the directory 'c:\povwin3', then our standard INI
|
||||
# file directory would be 'c:\povwin3\ini\'. When POV-Ray ran the above command, the '%i' would be
|
||||
# replaced with 'c:\povwin3\ini\'. Note that the trailing '\' is provided by POV-Ray. This means that:
|
||||
#
|
||||
# notepad.exe %ipvtools.txt
|
||||
#
|
||||
# would become:
|
||||
#
|
||||
# notepad.exe c:\povwin3\ini\pvtools.txt
|
||||
#
|
||||
# Here are all of the predefined substitutions:
|
||||
#
|
||||
# %0 The contents of the 'SourceFile' entry of the 'LastRender' section in PVENGINE.INI. This will
|
||||
# be the input file provided to POV-Ray for the most recent render. This information is extracted
|
||||
# from the rendering engine itself, rather than any input dialog or command-line. It is the file
|
||||
# which, after all processing of the command line and INI files was complete, was finally assigned
|
||||
# as the input file.
|
||||
#
|
||||
# %1 The contents of the 'OutputFile' entry of the 'LastRender' section in PVENGINE.INI. This will be
|
||||
# the output file from the last render, if any. This entry could be blank.
|
||||
#
|
||||
# %2 The contents of the 'SceneFile' entry of the 'LastRender' section in PVENGINE.INI. This will be
|
||||
# the scene file name for the last render, without the .POV extension. You can use this by appending
|
||||
# a new extension to it. For example,
|
||||
#
|
||||
# tga2gif %d\%1 %2.gif
|
||||
#
|
||||
# could expand to:
|
||||
#
|
||||
# tga2gif c:\scenes\myscene.tga myscene.gif
|
||||
#
|
||||
# assuming the input file was myscene.pov and the current directory at that time was c:\scenes.
|
||||
#
|
||||
# %4 The contents of the 'IniOutputFile' entry of the 'LastRender' section in PVENGINE.INI. If you had
|
||||
# instructed POV-Ray to write an INI file from the last render, this would contain its name.
|
||||
#
|
||||
# %D The contents of the 'CurrentDirectory' entry of the 'LastRender' section in PVENGINE.INI. This is
|
||||
# the current working directory that was set on your machine when POV-Ray began rendering the last
|
||||
# file, and is what the other output file entries are probably relative to. You may need to provide
|
||||
# '%d' with some of these other entries to get the full path.
|
||||
#
|
||||
# %H The POV-Ray for Windows binaries directory, as specified in the registry, e.g.
|
||||
# 'c:\Program Files\POV-Ray for Windows v3.7\'. Note the trailing backslash is supplied.
|
||||
#
|
||||
# %P The POV-Ray for Windows documents directory, as specified in the registry, e.g.
|
||||
# 'C:\Users\Joe\Documents\POV-Ray\v3.7\'. Note the trailing backslash is supplied.
|
||||
#
|
||||
# %I The POV-Ray for Windows INI directory. e.g. 'c:\Program Files\POV-Ray for Windows v3.7\ini'.
|
||||
#
|
||||
# %N The preset INI filename, as used in the render options dialog.
|
||||
#
|
||||
# %R The last render file (with full path) as supplied to POV-Ray from the render or choose file dialog.
|
||||
# This is not necessarily the same thing as %S or %0
|
||||
#
|
||||
# %S The source file name as provided to POV-Ray on the last render of the current session. This is not
|
||||
# necessarily the same thing as the %0 or %R directive. For example, %R will never provide the path
|
||||
# to a file that was rendered via the File Queue without the use of the Command dialog. %S will,
|
||||
# however, include any such file.
|
||||
#
|
||||
# %T The full path to PVTOOLS.INI. This is the file which holds the Tools Menu commands (i.e. this file).
|
||||
#
|
||||
# %% A literal percent character ('%').
|
||||
#
|
||||
# If any of the above seems confusing, there's an easy way to find out what's going on. If you place the
|
||||
# statement DEBUG=1 in the General section of PVTOOLS.INI, POV-Ray for Windows will print out the string
|
||||
# for each command both before and after it is expanded, instead of running the command that you select
|
||||
# in the tool menu. That way you can see exactly what POV-Ray substitutes. The printout will be visible
|
||||
# in the messages window.
|
||||
#
|
||||
# For example:
|
||||
#
|
||||
# [General]
|
||||
# Debug=1
|
||||
#
|
||||
# will turn on debugging. while
|
||||
#
|
||||
# [General]
|
||||
# Debug=0
|
||||
#
|
||||
# or omitting the statement entirely turns it off.
|
||||
#
|
||||
# [Help]
|
||||
#
|
||||
# You can have a help line appear in the status bar at the bottom of the window. You don't have to supply
|
||||
# this entry if you don't want to.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# [Help]
|
||||
# Item1=Edit master POVRAY.INI in installation directory
|
||||
#
|
||||
# This command makes the string 'Edit master POVRAY.INI in installation directory' appear in the status bar
|
||||
# when the mouse is over the 1st item in the Tools menu.
|
||||
|
||||
[Menu]
|
||||
Item0=Edit &master POVRAY.INI
|
||||
Item1=Edit PVEN&GINE.INI
|
||||
Item2=Edit &last rendered file
|
||||
Item3=Edit last &scene file
|
||||
Item4=&View last rendered file
|
||||
Item5=Edit resolution &INI file
|
||||
Item6=Edit &user-defined syntax file
|
||||
Item7=&Browse sample scenes folder
|
||||
Item8=Edit &this menu.
|
||||
|
||||
[Command]
|
||||
# NOTE! If using the $E or $E, DO NOT quote the parameters with '"'.
|
||||
# If you are calling a program directly, you will probably need to quote the
|
||||
# parameter; e.g. notepad.exe "%r"
|
||||
Item0=$e %pini\povray.ini
|
||||
Item1=$e %pini\pvengine.ini
|
||||
Item2=$e %r
|
||||
Item3=$e %0
|
||||
Item4=$s %1
|
||||
Item5=$e %n
|
||||
Item6=$e %I\user-keywords.txt
|
||||
Item7=$s %pscenes\
|
||||
Item8=$e %t
|
||||
|
||||
[Help]
|
||||
Item0=Edit master POVRAY.INI in installation directory
|
||||
Item1=Edit PVENGINE.INI in installation directory
|
||||
Item2=Edit the last file that POV-Ray was rendering
|
||||
Item3=Edit the last scene file that you selected
|
||||
Item4=View the output of the last render (assumes file output was on)
|
||||
Item5=Edit secondary INI file as specified in Command-line dialog
|
||||
Item6=Edit the user-defined syntax highlighting file
|
||||
Item7=Open the folder containing the sample scenes installed with POV-Ray
|
||||
Item8=Edit PVTOOLS.INI to alter this menu
|
||||
|
||||
[General]
|
||||
Debug=0
|
||||
23
distribution/platform-specific/windows/Ini/user-keywords.txt
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# $File: //depot/public/povray/3.x/distribution/platform-specific/windows/Ini/user-keywords.txt $
|
||||
# $Revision: #1 $
|
||||
# $Change: 6069 $
|
||||
# $DateTime: 2013/11/06 11:59:40 $
|
||||
# $Author: chrisc $
|
||||
#
|
||||
# user-defined keywords may be placed in this file
|
||||
# these keywords do not affect parsing or SDL; they are only used by the editor
|
||||
# for syntax highlighting and keyword completion (i.e. ctl-space or tab)
|
||||
#
|
||||
# the syntax is one keyword per line. spaces are not permitted within keywords
|
||||
# (leading or trailing spaces are allowed but will be stripped). any line containing
|
||||
# more than one token will be ignored, as well any line starting with a '#'.
|
||||
|
||||
input_file_name
|
||||
image_width
|
||||
image_height
|
||||
clock_delta
|
||||
final_clock
|
||||
final_frame
|
||||
frame_number
|
||||
initial_clock
|
||||
initial_frame
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
// PoVRay 3.7 Scene File " ... .pov"
|
||||
// author: ...
|
||||
// date: ...
|
||||
//--------------------------------------------------------------------------
|
||||
#version 3.7;
|
||||
global_settings{ assumed_gamma 1.0 }
|
||||
#default{ finish{ ambient 0.1 diffuse 0.9 }}
|
||||
//--------------------------------------------------------------------------
|
||||
#include "colors.inc"
|
||||
#include "textures.inc"
|
||||
#include "glass.inc"
|
||||
#include "metals.inc"
|
||||
#include "golds.inc"
|
||||
#include "stones.inc"
|
||||
#include "woods.inc"
|
||||
#include "shapes.inc"
|
||||
#include "shapes2.inc"
|
||||
#include "functions.inc"
|
||||
#include "math.inc"
|
||||
#include "transforms.inc"
|
||||
//--------------------------------------------------------------------------
|
||||
// camera ------------------------------------------------------------------
|
||||
#declare Camera_0 = camera {perspective angle 75 // front view
|
||||
location <0.0 , 1.0 ,-3.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_1 = camera {/*ultra_wide_angle*/ angle 90 // diagonal view
|
||||
location <2.0 , 2.5 ,-3.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_2 = camera {/*ultra_wide_angle*/ angle 90 //right side view
|
||||
location <3.0 , 1.0 , 0.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_3 = camera {/*ultra_wide_angle*/ angle 90 // top view
|
||||
location <0.0 , 3.0 ,-0.001>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
camera{Camera_0}
|
||||
// sun ----------------------------------------------------------------------
|
||||
light_source{< 3000,3000,-3000> color White}
|
||||
// sky ----------------------------------------------------------------------
|
||||
sky_sphere { pigment { gradient <0,1,0>
|
||||
color_map { [0.00 rgb <0.6,0.7,1.0>]
|
||||
[0.35 rgb <0.1,0.0,0.8>]
|
||||
[0.65 rgb <0.1,0.0,0.8>]
|
||||
[1.00 rgb <0.6,0.7,1.0>]
|
||||
}
|
||||
scale 2
|
||||
} // end of pigment
|
||||
} //end of skysphere
|
||||
// ground -------------------------------------------------------------------
|
||||
plane{ <0,1,0>, 0
|
||||
texture{ pigment{ checker color rgb<1,1,1>*1.2 color rgb<0.25,0.15,0.1>*0}
|
||||
//normal { bumps 0.75 scale 0.025}
|
||||
finish { phong 0.1}
|
||||
} // end of texture
|
||||
} // end of plane
|
||||
//---------------------------------------------------------------------------
|
||||
//---------------------------- objects in scene ----------------------------
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
// sample sphere
|
||||
sphere { <0,0,0>, 1.00
|
||||
texture { Polished_Chrome
|
||||
//pigment{ color Red } // rgb< 1, 0.0, 0.0>}
|
||||
//finish { phong 1 reflection {0.40 metallic 0.5}}
|
||||
} // end of texture
|
||||
|
||||
scale<1,1,1> rotate<0,0,0> translate<0,1.35,0>
|
||||
} // end of sphere -----------------------------------
|
||||
|
||||
|
After Width: | Height: | Size: 6.3 KiB |
|
|
@ -0,0 +1,79 @@
|
|||
// PoVRay 3.7 Scene File " ... .pov"
|
||||
// author: ...
|
||||
// date: ...
|
||||
//--------------------------------------------------------------------------
|
||||
#version 3.7;
|
||||
global_settings{ assumed_gamma 1.0 }
|
||||
#default{ finish{ ambient 0.1 diffuse 0.9 }}
|
||||
//--------------------------------------------------------------------------
|
||||
#include "colors.inc"
|
||||
#include "textures.inc"
|
||||
#include "glass.inc"
|
||||
#include "metals.inc"
|
||||
#include "golds.inc"
|
||||
#include "stones.inc"
|
||||
#include "woods.inc"
|
||||
#include "shapes.inc"
|
||||
#include "shapes2.inc"
|
||||
#include "functions.inc"
|
||||
#include "math.inc"
|
||||
#include "transforms.inc"
|
||||
//--------------------------------------------------------------------------
|
||||
// camera ------------------------------------------------------------------
|
||||
#declare Camera_0 = camera {/*ultra_wide_angle*/ angle 75 // front view
|
||||
location <0.0 , 1.0 ,-3.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_1 = camera {/*ultra_wide_angle*/ angle 90 // diagonal view
|
||||
location <2.0 , 2.5 ,-3.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_2 = camera {/*ultra_wide_angle*/ angle 90 // right side view
|
||||
location <3.0 , 1.0 , 0.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_3 = camera {/*ultra_wide_angle*/ angle 90 // top view
|
||||
location <0.0 , 3.0 ,-0.001>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
camera{Camera_0}
|
||||
// sun ---------------------------------------------------------------------
|
||||
light_source{<-1500,2500,-2500> color White}
|
||||
// sky ---------------------------------------------------------------------
|
||||
sky_sphere { pigment { gradient <0,1,0>
|
||||
color_map { [0.00 rgb <1.0,1.0,1.0>]
|
||||
[0.30 rgb <0.0,0.1,1.0>]
|
||||
[0.70 rgb <0.0,0.1,1.0>]
|
||||
[1.00 rgb <1.0,1.0,1.0>]
|
||||
}
|
||||
scale 2
|
||||
} // end of pigment
|
||||
} //end of skysphere
|
||||
// fog ---------------------------------------------------------------------
|
||||
fog{fog_type 2
|
||||
distance 50
|
||||
color White
|
||||
fog_offset 0.1
|
||||
fog_alt 2.0
|
||||
turbulence 0.8}
|
||||
// ground ------------------------------------------------------------------
|
||||
plane{ <0,1,0>, 0
|
||||
texture{ pigment{ color rgb <0.825,0.57,0.35>}
|
||||
normal { bumps 0.75 scale 0.025 }
|
||||
finish { phong 0.1 }
|
||||
} // end of texture
|
||||
} // end of plane
|
||||
//--------------------------------------------------------------------------
|
||||
//---------------------------- objects in scene ----------------------------
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
|
|
@ -0,0 +1,79 @@
|
|||
// PoVRay 3.7 Scene File " ... .pov"
|
||||
// author: ...
|
||||
// date: ...
|
||||
//--------------------------------------------------------------------------
|
||||
#version 3.7;
|
||||
global_settings{ assumed_gamma 1.0 }
|
||||
#default{ finish{ ambient 0.1 diffuse 0.9 }}
|
||||
//--------------------------------------------------------------------------
|
||||
#include "colors.inc"
|
||||
#include "textures.inc"
|
||||
#include "glass.inc"
|
||||
#include "metals.inc"
|
||||
#include "golds.inc"
|
||||
#include "stones.inc"
|
||||
#include "woods.inc"
|
||||
#include "shapes.inc"
|
||||
#include "shapes2.inc"
|
||||
#include "functions.inc"
|
||||
#include "math.inc"
|
||||
#include "transforms.inc"
|
||||
//--------------------------------------------------------------------------
|
||||
// camera ------------------------------------------------------------------
|
||||
#declare Camera_0 = camera {/*ultra_wide_angle*/ angle 75 // front view
|
||||
location <0.0 , 1.0 ,-3.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_1 = camera {/*ultra_wide_angle*/ angle 90 // diagonal view
|
||||
location <2.0 , 2.5 ,-3.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_2 = camera {/*ultra_wide_angle*/ angle 90 // right side view
|
||||
location <3.0 , 1.0 , 0.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_3 = camera {/*ultra_wide_angle*/ angle 90 // top view
|
||||
location <0.0 , 3.0 ,-0.001>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
camera{Camera_0}
|
||||
// sun ---------------------------------------------------------------------
|
||||
light_source{<-1500,2500,-2500> color White}
|
||||
// sky ---------------------------------------------------------------------
|
||||
sky_sphere { pigment { gradient <0,1,0>
|
||||
color_map { [0.00 rgb <1.0,1.0,1.0>]
|
||||
[0.30 rgb <0.0,0.1,1.0>]
|
||||
[0.70 rgb <0.0,0.1,1.0>]
|
||||
[1.00 rgb <1.0,1.0,1.0>]
|
||||
}
|
||||
scale 2
|
||||
} // end of pigment
|
||||
} //end of skysphere
|
||||
// fog ---------------------------------------------------------------------
|
||||
fog{fog_type 2
|
||||
distance 50
|
||||
color White
|
||||
fog_offset 0.1
|
||||
fog_alt 2.0
|
||||
turbulence 0.8}
|
||||
// ground ------------------------------------------------------------------
|
||||
plane{ <0,1,0>, 0
|
||||
texture{ pigment{ color rgb <1.00,0.95,0.8>}
|
||||
normal { bumps 0.75 scale 0.025 }
|
||||
finish { phong 0.1 }
|
||||
} // end of texture
|
||||
} // end of plane
|
||||
//--------------------------------------------------------------------------
|
||||
//---------------------------- objects in scene ----------------------------
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 4 KiB |
|
|
@ -0,0 +1,74 @@
|
|||
// PoVRay 3.7 Scene File " ... .pov"
|
||||
// author: ...
|
||||
// date: ...
|
||||
//--------------------------------------------------------------------------
|
||||
#version 3.7;
|
||||
global_settings{ assumed_gamma 1.0 }
|
||||
#default{ finish{ ambient 0.1 diffuse 0.9 }}
|
||||
//--------------------------------------------------------------------------
|
||||
#include "colors.inc"
|
||||
#include "textures.inc"
|
||||
#include "glass.inc"
|
||||
#include "metals.inc"
|
||||
#include "golds.inc"
|
||||
#include "stones.inc"
|
||||
#include "woods.inc"
|
||||
#include "shapes.inc"
|
||||
#include "shapes2.inc"
|
||||
#include "functions.inc"
|
||||
#include "math.inc"
|
||||
#include "transforms.inc"
|
||||
//--------------------------------------------------------------------------
|
||||
// camera ------------------------------------------------------------------
|
||||
#declare Camera_0 = camera {/*ultra_wide_angle*/ angle 75 // front view
|
||||
location <0.0 , 1.0 ,-3.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_1 = camera {/*ultra_wide_angle*/ angle 90 // diagonal view
|
||||
location <2.0 , 2.5 ,-3.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_2 = camera {/*ultra_wide_angle*/ angle 90 // right side view
|
||||
location <3.0 , 1.0 , 0.0>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
#declare Camera_3 = camera {/*ultra_wide_angle*/ angle 90 // top view
|
||||
location <0.0 , 3.0 ,-0.001>
|
||||
right x*image_width/image_height
|
||||
look_at <0.0 , 1.0 , 0.0>}
|
||||
camera{Camera_0}
|
||||
// sun ---------------------------------------------------------------------
|
||||
light_source{<1500,2500,-2500> color White}
|
||||
// sky ---------------------------------------------------------------------
|
||||
plane{<0,1,0>,1 hollow
|
||||
texture{ pigment{ bozo turbulence 0.76
|
||||
color_map { [0.5 rgb <0.20, 0.20, 1.0>]
|
||||
[0.6 rgb <1,1,1>]
|
||||
[1.0 rgb <0.5,0.5,0.5>]}
|
||||
}
|
||||
finish {ambient 1 diffuse 0} }
|
||||
scale 10000}
|
||||
// fog ---------------------------------------------------------------------
|
||||
fog{fog_type 2
|
||||
distance 50
|
||||
color White
|
||||
fog_offset 0.1
|
||||
fog_alt 2.0
|
||||
turbulence 0.8}
|
||||
// ground ------------------------------------------------------------------
|
||||
plane { <0,1,0>, 0
|
||||
texture{ pigment{ color rgb<0.35,0.65,0.0>*0.9 }
|
||||
normal { bumps 0.75 scale 0.015 }
|
||||
finish { phong 0.1 }
|
||||
} // end of texture
|
||||
} // end of plane
|
||||
//--------------------------------------------------------------------------
|
||||
//---------------------------- objects in scene ----------------------------
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||