the historic move: getting rid of all visual studio project stuff, now that the mingw build works
git-svn-id: svn://svn.icculus.org/netradiant/trunk@56 61c419a2-8eb2-4b30-bcec-8cead039b335
@@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
# temporary..
|
||||
|
||||
# grab the gtk devel package
|
||||
# FIXME: for win32 SDK only
|
||||
echo "Updating src/"
|
||||
echo "NOTE: check we are using the latest gtk dev packages"
|
||||
echo "NOTE: we are not putting our patched versions in"
|
||||
rm -rf src
|
||||
unzip /cygdrive/c/Download/Gtk-20001023/glib-dev-20001023.zip
|
||||
unzip /cygdrive/c/Download/Gtk-20001023/gtk+-dev-20000722.zip
|
||||
unzip /cygdrive/c/Download/Gtk-20001023/libiconv-dev-20001007.zip
|
||||
unzip /cygdrive/c/Download/Gtk-20001023/extralibs-dev-20001007.zip
|
||||
@@ -1,53 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# what I use to run this script on my win32 box:
|
||||
# have cygwin, perl (ActiveState) and the cygwin zip utility
|
||||
# for zip: http://www.hirmke.de/software/develop/gnuwin32/cygwin/porters/Hirmke_Michael/GNUWin32-links.html#zip-2.3%20(cygwin1.1)
|
||||
|
||||
# FIXME: I'd like to have this same script used for both platforms
|
||||
# for the SDK we recreate a smaller tree and only put the stuff we want
|
||||
# what potentially changes across platforms is the binaries and the src/ subtree for gtk stuff
|
||||
|
||||
# proceed in order:
|
||||
|
||||
# include directory for all plugin API
|
||||
mkdir GtkRadiant
|
||||
mkdir GtkRadiant/include
|
||||
rm -rf ./GtkRadiant/include/*
|
||||
echo "Copying GtkRadiant API headers"
|
||||
cp ../../include/* ./GtkRadiant/include
|
||||
|
||||
# now fill in the plugins menu:
|
||||
# copy common, textool and the sample plugin
|
||||
mkdir GtkRadiant
|
||||
mkdir GtkRadiant/plugins
|
||||
mkdir GtkRadiant/plugins/common
|
||||
mkdir GtkRadiant/plugins/textool
|
||||
mkdir GtkRadiant/plugins/sample
|
||||
rm -rf ./GtkRadiant/plugins/*
|
||||
echo "Copying TexTool"
|
||||
cp -R ../../plugins/textool ./GtkRadiant/plugins/textool
|
||||
cp -R ../../plugins/common ./GtkRadiant/plugins/common
|
||||
echo "Copying Sample plugin"
|
||||
cp -R ../../plugins/sample ./GtkRadiant/plugins/sample
|
||||
|
||||
# get gtkradiant binary (you know you want it)
|
||||
# FIXME: for win32 SDK only
|
||||
#cp ../radiant/Release/Q3Radiant.exe GtkRadiant.exe
|
||||
|
||||
# grab the gtk devel package
|
||||
# FIXME: for win32 SDK only
|
||||
echo "Updating src/"
|
||||
echo "NOTE: check we are using the latest gtk dev packages"
|
||||
echo "NOTE: we are not putting our patched versions in"
|
||||
rm -rf src
|
||||
unzip /cygdrive/c/Download/Gtk-20001023/glib-dev-20001023.zip
|
||||
unzip /cygdrive/c/Download/Gtk-20001023/gtk+-dev-20000722.zip
|
||||
unzip /cygdrive/c/Download/Gtk-20001023/libiconv-dev-20001007.zip
|
||||
unzip /cygdrive/c/Download/Gtk-20001023/extralibs-dev-20001007.zip
|
||||
# grab the src/build directory, we use it with the cygwin makefiles
|
||||
cp -R ../../../src/build src
|
||||
|
||||
# build the SDK
|
||||
#echo "Check the sample/ directory is clean"
|
||||
#zip -r PluginSDK.zip src private sample README.html GtkRadiant.exe
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
# temporary..
|
||||
|
||||
# build the SDK zip
|
||||
rm PluginSDK.zip
|
||||
zip -r PluginSDK.zip src GtkRadiant README.html
|
||||
@@ -1,171 +0,0 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">
|
||||
<title>Q3Radiant plugin SDK
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center><b><font size=+2>GtkRadiant plugin SDK</font></b></center>
|
||||
<center><b><font size=+2>http://www.gtkradiant.com</font></b></center>
|
||||
|
||||
<p><br>
|
||||
<div align=right><b><font size=+2>Version: <font color="#FF0000">GtkRadiant
|
||||
1.1-TA-beta</font></font></b>
|
||||
<br><b><font size=+2><font color="#000000">Last updated: </font><font color="#FF0000">01/14/2001</font></font></b></div>
|
||||
|
||||
<p><br>
|
||||
<hr WIDTH="100%"><font size=+2>What do I have?</font>
|
||||
|
||||
<br><font size=+1><tt>GtkRadiant/include/</tt>: Radiant plugin API
|
||||
headers</font>
|
||||
|
||||
<br><font size=+1><tt>GtkRadiant/plugins/sample/</tt>: an empty plugin nutshell,
|
||||
handy to start a new one (NOTE: a cygwin makefile for Sample is also
|
||||
provided)</font>
|
||||
|
||||
<br><font size=+1><tt>GtkRadiant/plugins/textool/</tt>: TexTool plugin
|
||||
source code</font>
|
||||
|
||||
<br><font size=+1><tt>src/</tt>: Gtk headers and libraries for win32</font>
|
||||
|
||||
<p> <font size=+2>A Word about Gtk:</font>
|
||||
|
||||
<br><font size=+1>GtkRadiant is using the <a href="http://www.gtk.org"
|
||||
target="_new">Gtk toolkit</a> for all the user interface. There's a specific
|
||||
page for the <a href="http://user.sgic.fi/~tml/gimp/win32/" target="_new">Gtk on
|
||||
win32</a>. If you are going to write a plugin for GtkRadiant, we recommend you
|
||||
use Gtk, but it's not a required feature. You can write plugins using the native
|
||||
windows API or even VB. Don't hesitate to ask for help on the <a
|
||||
href="http://www.egroups.com/register?referer=/subscribe/radiant-plugins"
|
||||
target="_new">plugin mailing list</a> or to drop by on irc.telefragged.com
|
||||
#qeradiant</font></p>
|
||||
|
||||
<p><font size=+2>Plugin basics:</font>
|
||||
<br><font size=+2>main features available to plugins:</font>
|
||||
<ul>
|
||||
<li>
|
||||
<font size=+1>Manipulate MAP data: read and write brushes, patches, epairs and entities</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Override the BSP menu to process your own building commands</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Read / Write project settings epairs</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Use OpenGL to draw in the 2D/3D view, or in your own plugin
|
||||
windows</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Use listeners to catch events in Radiant (like a change of
|
||||
texture or brush select / deselect)</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Use listeners to listen for window events (for mouse interaction
|
||||
in the 2D view)</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Create new plugin entities that show up in the Radiant window,
|
||||
which you can draw yourself and handle the user interaction</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Use the Radiant internal parser to hook your own MAP format
|
||||
changes for plugin entities</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Access polygon and texture information on the current selected
|
||||
face</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Override the texture / shader code to provide your own texture
|
||||
formats and shader system</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1>Add new surface properties, and change the MAP format accordingly</font></li>
|
||||
</ul>
|
||||
<font size=+2>overall structure of a plugin:</font>
|
||||
<br><font size=+1>A plugin is a DLL (dynamic loading library) that exposes
|
||||
some API to Radiant. Plugins must be put in the plugins/ directory, they
|
||||
get loaded at startup by Radiant. Any plugin has a few required entry points
|
||||
in order to get loaded correctly:</font>
|
||||
<ul>
|
||||
<li>
|
||||
<font size=+1><tt>QERPlug_Init</tt> is the first entry point called, used
|
||||
for initialization and sending back the plugin name that appears in the
|
||||
console</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1><tt>QERPlug_GetName</tt> returns the name of the plugin as
|
||||
it appears in the plugin menu</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1><tt>QERPlug_GetCommandList</tt> returns a list describing
|
||||
the items in the plugin submenu</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1><tt>QERPlug_GetFuncTable</tt> returns the address of the
|
||||
_QERFuncTable_1 of the plugin. After Radiant got the pointer to the function
|
||||
table it will fill it and the plugin is able to call into the editor.</font></li>
|
||||
|
||||
<li>
|
||||
<font size=+1><tt>QERPlug_Dispatch</tt> is called when the user hits a
|
||||
command in the plugin menu. The plugin is then free to process.</font></li>
|
||||
</ul>
|
||||
<font size=+2>the function table and interfaces:</font>
|
||||
<br><font size=+1>Instead of exporting entry points, Radiant fills in function
|
||||
pointer tables. The main and required function table is <tt>_QERFuncTable_1</tt>.
|
||||
Each plugin must have it and let Radiant fill it. Some additional or specialized
|
||||
functionalities can be accessed with other tables like <tt>_QERQglTable</tt>
|
||||
for GL stuff. These have to be requested to Radiant using <tt>_QERFuncTable_1::m_pfnRequestInterface</tt>
|
||||
(see <tt>TexTool</tt> for an example). Each additional function table has
|
||||
a "globally unique identifier" (<tt>QERQglTable_GUID</tt> for GL stuff)
|
||||
that's used to identify the interface across plugins.</font>
|
||||
<p><font size=+1>NOTE: some function tables are used by Radiant and must
|
||||
be filled by the plugin (ie. they work in reverse compared to usual ones).
|
||||
In this case the plugin must export an additional entry point <tt>int WINAPI
|
||||
QERPlug_RequestInterface( REFGUID, LPVOID );</tt></font>
|
||||
<p><font size=+2>virtual classes:</font>
|
||||
<br><font size=+1>some stuff is better represented by an abstract C++ class.
|
||||
For those with COM knowledge, it's just a very lightweight COM way of doing
|
||||
things. These classes have very basic reference counting through <tt>IncRef()</tt>
|
||||
and <tt>DecRef()</tt> .. you are supposed to increment or decrement the
|
||||
reference count each time you store or release a pointer to these classes,
|
||||
otherwise they could get unexpectedly erased and you would be very very
|
||||
sorry. The <tt>IListener</tt> class in <tt>IMessaging.h</tt> can be implemented
|
||||
by the plugin and handed over to Radiant to listen for events. See <tt>TexTool</tt>
|
||||
for examples.</font>
|
||||
<br>
|
||||
|
||||
<p><font size=+2>More stuff:</font>
|
||||
|
||||
<br><font size=+1>If you need more information or if you want new features for
|
||||
plugins, see the source code for <tt>TexTool</tt> and <tt>Curry</tt>.
|
||||
<tt>TexTool</tt> source comes with the plugin SDK, and <tt>Curry</tt> source is
|
||||
available <a href="http://curry.sourceforge.net">from their web site</a>. You
|
||||
can <a
|
||||
href="http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/?cvsroot=curry">browse it
|
||||
online</a> from <a href="http://sourceforge.net/project/?group_id=1263">the
|
||||
project page</a>. <a
|
||||
href="http://sourceforge.net/project/?group_id=5326">PrtView</a> has neat code
|
||||
samples on how to draw in the 2D views or camera window. These two plugins are
|
||||
under GPL licensing. The dedicated place to talk about plugin coding is the <a
|
||||
href="http://www.egroups.com/group/radiant-plugins">plugins-coding mailing
|
||||
list</a> ... see you there. You may also get an updated list of the plugins for
|
||||
Radiant <a href="http://plugins.qeradiant.com">on our dedicated web
|
||||
site</a>.<br>
|
||||
|
||||
Update: you can also have a look to the <a
|
||||
href="http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/?cvsroot=pk3man "
|
||||
target="_new">pk3man source</a>.</font>
|
||||
|
||||
<p><font size=+2>Conclusion:</font>
|
||||
<br><font size=+1>this document is intended as a quickstart for potential
|
||||
plugin writers. I hope it meets it's objective. It's not a complete and
|
||||
systematic documentation, I doubt there will be one ever unless someone
|
||||
decides to do it. Feel free to send me contributions to this document.
|
||||
<a href="mailto:timo@qeradiant.com">Send feedback to me</a>.</font>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,33 +0,0 @@
|
||||
Plugin SDK for GtkRadiant
|
||||
TODO list
|
||||
|
||||
win32:
|
||||
write script to generate the plugin SDK
|
||||
sample dll
|
||||
documentation
|
||||
headers
|
||||
gtk libs (devel package + our stuff on top)
|
||||
|
||||
linux:
|
||||
same thing more or less..
|
||||
except we rely on the user for his Gtk installation
|
||||
|
||||
put some docs, links to curry and pk3man for source
|
||||
|
||||
[15:23] <leo> you don't need to do:
|
||||
[15:23] <leo> #ifdef __linux__
|
||||
[15:23] <leo> extern "C" char* QERPlug_Init (void* hApp, GtkWidget* pMainWidget)
|
||||
[15:23] <leo> #else
|
||||
[15:23] <leo> //LPCSTR __declspec(dllexport) QERPlug_Init(HMODULE hApp, GtkWidget* pMainWidget)
|
||||
[15:23] <leo> extern "C" LPCSTR WINAPI QERPlug_Init(HMODULE hApp, GtkWidget* pMainWidget)
|
||||
[15:23] <leo> #endif
|
||||
[15:23] <TTimo> yes that needs cleaning
|
||||
[15:23] <TTimo> is it yet?
|
||||
[15:23] <leo> extern "C" char* WINAPI QERPlug_Init works
|
||||
[15:24] <TTimo> way cool
|
||||
[15:24] <leo> some plugins have it
|
||||
[15:24] <leo> just thought I'd mention as you're writing the SDK
|
||||
|
||||
need to put TexTool source in as well..
|
||||
|
||||
put a f* updated binary of gktradiant in there
|
||||
1800
setup/changelog.txt
@@ -1,139 +0,0 @@
|
||||
#!/usr/bin/env perl
|
||||
#
|
||||
# Common setup functions for building release packages
|
||||
#
|
||||
|
||||
# Gef - Jan3 2002
|
||||
# - Initial framework for migrating setup/release building to perl
|
||||
|
||||
# TODO:
|
||||
# Gef - Cleaner handling of cons builds, currently doesn't catch cons errors
|
||||
|
||||
package setup;
|
||||
|
||||
# Package constructor
|
||||
sub new
|
||||
{
|
||||
my $this = {};
|
||||
bless $this;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
# Replace in file parm-1; parm-2 with parm-3
|
||||
sub replace
|
||||
{
|
||||
shift;
|
||||
my $file = shift(@_);
|
||||
my $search = shift(@_);
|
||||
my $replace_with = shift(@_);
|
||||
|
||||
# need to use | instead of / with sed since the variables will contain /'s which confuse it
|
||||
system("cat '$file' | sed -e 's|$search|$replace_with|g' > '$file.tmp'");
|
||||
system("cp '$file.tmp' '$file'; rm '$file.tmp'");
|
||||
}
|
||||
|
||||
# Not exactly common (between win32/linux), but useful here all the same
|
||||
sub cons_build
|
||||
{
|
||||
shift;
|
||||
my $BUILD_DIR = shift(@_);
|
||||
my $BUILD_CMD = shift(@_);
|
||||
# use a direct system() call since syscmd doesnt catch cons errors
|
||||
system("cd $BUILD_DIR; $BUILD_CMD");
|
||||
}
|
||||
|
||||
# Maintain a list of errors that have occured
|
||||
sub collate_error
|
||||
{
|
||||
#shift;
|
||||
my $err_type = shift(@_); # unused
|
||||
my $err_command = shift(@_);
|
||||
|
||||
@errors[$err_count++] = "$err_command";
|
||||
}
|
||||
|
||||
# Output the list of errors stored
|
||||
sub print_errors
|
||||
{
|
||||
my $count = 0;
|
||||
|
||||
if($err_count gt 0)
|
||||
{
|
||||
if($err_count > 25)
|
||||
{
|
||||
print("$err_count Errors!! Ouch, looks like something screwed up.\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
print("$err_count Error(s) encountered\n");
|
||||
}
|
||||
|
||||
for($count; $count lt $err_count; $count++)
|
||||
{
|
||||
if(@errors[$count] ne "")
|
||||
{
|
||||
print("-> @errors[$count]\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#{
|
||||
# print("No errors encountered.\n");
|
||||
#}
|
||||
}
|
||||
|
||||
# A wrapper for system() calls that catches errors
|
||||
sub syscmd
|
||||
{
|
||||
shift;
|
||||
my $command_string = shift(@_);
|
||||
|
||||
# todo: identify multiple commands (commands split with ;'s)
|
||||
# todo: catch cons errors (cons doesn't return a value)
|
||||
system("$command_string");
|
||||
my $sysretval = $?;
|
||||
|
||||
if(($sysretval gt 0) && ($sysretval lt 257))
|
||||
{
|
||||
@cmdlist = split(" ", $command_string);
|
||||
if(@cmdlist[0] eq "cp")
|
||||
{
|
||||
collate_error("copy", $command_string);
|
||||
}
|
||||
elsif(@cmdlist[0] eq "mv")
|
||||
{
|
||||
collate_error("move", $command_string);
|
||||
}
|
||||
elsif(@cmdlist[0] eq "cons")
|
||||
{
|
||||
collate_error("cons", $command_string);
|
||||
}
|
||||
elsif(@cmdlist[0] eq "cd")
|
||||
{
|
||||
collate_error("changed dir", $command_string);
|
||||
}
|
||||
elsif(@cmdlist[0] eq "mkdir")
|
||||
{
|
||||
collate_error("make dir", $command_string);
|
||||
}
|
||||
elsif(@cmdlist[0] eq "cat")
|
||||
{
|
||||
collate_error("cat", $command_string);
|
||||
}
|
||||
elsif(@cmdlist[0] eq "rm")
|
||||
{
|
||||
collate_error("remove", $command_string);
|
||||
}
|
||||
else
|
||||
{
|
||||
collate_error("unhandled", $command_string);
|
||||
}
|
||||
}
|
||||
|
||||
return $sysretval;
|
||||
}
|
||||
|
||||
|
||||
# Close package
|
||||
1;
|
||||
@@ -1,220 +0,0 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<title>Radiant - Credits</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
a:link { color: #9999FF ; text-decoration: none ; }
|
||||
a:visited { color: #6666AA ; text-decoration: none ; }
|
||||
a:hover { color: #6666FF ; text-decoration: none ; }
|
||||
h3 { color: #FFFFFF ; }
|
||||
b { color: #CCCCCC ; }
|
||||
//-->
|
||||
</style>
|
||||
</head>
|
||||
<body text="#BBBBBB" bgcolor="#000000">
|
||||
|
||||
<div align="center">
|
||||
<table width="95%" cellpadding="0" cellspacing="0" border="0"><tr><td>
|
||||
<div align="center">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<tr><td bgcolor="#003366" align="center">
|
||||
<h3>Credits</h3>
|
||||
</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<b>GtkRadiant 1.5 development</b><br>
|
||||
<hr>
|
||||
<ul>
|
||||
· Thomas "namespace" Nitschke spam@codecreator.net<br>
|
||||
· Stefan "Shaderman" Greven<br>
|
||||
· "Topsun"<br>
|
||||
· SmallPileofGibs spog@planetquake.com<br>
|
||||
· "Tr3b"<br>
|
||||
· Eric "eb" Barth<br>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<p><b>GtkRadiant 1.4 developement</b></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
<b>Loki Games</b><br>
|
||||
<a href="http://www.lokigames.com" target="_new">Loki games</a> was the instigator of the project.
|
||||
Leonardo Zide wrote the initial port to Gtk+, which is based on the win32 version of Q3Radiant by
|
||||
<a href="http://www.idsoftware.com">Id Software</a>.
|
||||
<ul>
|
||||
· Leonardo Zide <a href="mailto:leonardo@centroin.com.br"><leonardo@centroin.com.br></a><br>
|
||||
· QA: Mike Phillips<br>
|
||||
· Overall coordination: Bernd Kreimeier<br>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
<b>Id software</b><br>
|
||||
<a href="http://www.idsoftware.com">Id software</a> is actively supporting
|
||||
the project by providing resources, advice and developer time.
|
||||
</p>
|
||||
|
||||
|
||||
<b>QERadiant.com</b><br>
|
||||
<a href="http://www.qeradiant.com">QERadiant.com</a> is the main entity
|
||||
behind the editor. The team has been handling editor developement, website
|
||||
work and documentation for several years now. Many people on the team have
|
||||
been involved in several areas, plugin developpement, contributing patches,
|
||||
doing documentation (.. and fixing my bad html)<br>
|
||||
<BR>
|
||||
<ul>
|
||||
|
||||
<p>
|
||||
<b>Project leader:</b>
|
||||
<br>- TTimo <a href="mailto:ttimo@idsoftware.com"><ttimo@idsoftware.com></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Editor developers and contributors:</b>
|
||||
<br>- Arnout "RR2DO2" van Meer <a href="mailto:rr2do2@q3f.com"><rr2do2@q3f.com></a>
|
||||
<br>- David Olofson <a href="mailto:david@olofson.net"><david@olofson.net></a>
|
||||
<br>- Dominic "Hydra" Clifton <a href="mailto:hydrasworld@hotmail.com"><hydrasworld@hotmail.com></a>
|
||||
<br>- Geoff "Gef" Davis <a href="mailto:gefdavis@dingoblue.net.au"><gefdavis@dingoblue.net.au></a>
|
||||
<br>- Geoffrey DeWan <a href="mailto:gdewan@prairienet.org"><gdewan@prairienet.org></a>
|
||||
<br>- Gordon "djbob" Biggans <a href="mailto:gbiggans@uglab.eee.strath.ac.uk"><gbiggans@uglab.eee.strath.ac.uk></a>
|
||||
<br>- Jan Paul "MrElusive" van Waveren
|
||||
<br>- Jonas
|
||||
<br>- Leonardo Zide (initial ports and general developement) <a href="mailto:leonardo@centroin.com.br"><leonardo@centroin.com.br></a>
|
||||
<br>- LordHavoc - Q1 support work
|
||||
<br>- MarsMattel <a href="mailto:icky.gildea@cableinet.co.uk"><icky.gildea@cableinet.co.uk></a>
|
||||
<br>- Michael Schlueter
|
||||
<br>- Nurail
|
||||
<br>- Pablo "^Fishman" Zurita <a href="mailto:pabloz@qeradiant.com"><pabloz@qeradiant.com></a>
|
||||
<br>- Randy "ydnar" Reddig <a href="mailto:ydnar@shaderlab.com"><ydnar@shaderlab.com></a>
|
||||
<br>- Ryan "Riant" Lahaie-Cohen <a href="rmarc@sympatico.ca"><rmarc@sympatico.ca></a>
|
||||
<br>- Robert Duffy
|
||||
<br>- SCDS_reyalP <a href="mailto:rfm@redshift.com"><rfm@redshift.com></a>
|
||||
<br>- Shawn "EvilTypeGuy" Walker <a href="mailto:eviltypeguy@qeradiant.com"><eviltypeguy@qeradiant.com></a>
|
||||
<br>- SmallPileOfGibs <a href="mailto:spog@planetquake.com"><spog@planetquake.com></a>
|
||||
<br>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>ET GamePack:</b>
|
||||
<br>- <a href="http://www.splashdamage.com">SplashDamage</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>OSX Port:</b>
|
||||
<br>- X-Man
|
||||
<br>- <a href="http://fink.sourceforge.net">fink team</a>
|
||||
<br>- Anders Gudmundson
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Q3Map 2.0 and general Q3Map improvements:</b>
|
||||
<br>- Randy "ydnar" Reddig <a href="mailto:ydnar@shaderlab.com"><ydnar@shaderlab.com></a>
|
||||
<br>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Picmodel library:</b>
|
||||
<br>- SeaW0lf
|
||||
<br>- Randy "ydnar" Reddig <a href="mailto:ydnar@shaderlab.com"><ydnar@shaderlab.com></a>
|
||||
<br>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Setup media: sample maps, shader scripts, md3s, entities.def:</b>
|
||||
<br>- AstroCreep
|
||||
<br>- Jean-Francois "Eutectic" Groleau
|
||||
<br>- Primer
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Game Packs Help</b>
|
||||
<br>- <a href="http://www.ravensoft.com">Raven Software</a> - James Monroe & Mike Majernik
|
||||
<br> Jedi Academy game pack
|
||||
<br>- Ryan "Riant" Lahaie-Cohen <a href="rmarc@sympatico.ca"><rmarc@sympatico.ca></a>
|
||||
<br> Jedi Knight II, Star Trek Voyager: Elite Force, and Soldier of Fortune 2 game packs
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Half-Life Module</b>
|
||||
<br>- Dominic "Hydra" Clifton <a href="mailto:hydrasworld@hotmail.com"><hydrasworld@hotmail.com></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>BobToolz plugin:</b>
|
||||
<br>- Gordon "djbob" Biggans <a href="mailto:gbiggans@uglab.eee.strath.ac.uk"><gbiggans@uglab.eee.strath.ac.uk></a>
|
||||
<br>- MarsMattel
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Curry plugin Team:</b>
|
||||
<br>- Mike "mickey" Jackman
|
||||
<br>- Tim "Maj" Rennie
|
||||
<br>- William "SmallPileOfGibs" Joseph
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>PrtView plugin, various bug fixes and q3map guru:</b>
|
||||
<br>- Geoffrey DeWan
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Gensurf plugin</b>
|
||||
<br>- David Hyde
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>2D background image plugin</b>
|
||||
<br>- SCDS_Reyalp
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Web staff:</b>
|
||||
<br>- Dave "Bargle" Koenig and Jason "Wolfen" Spencer
|
||||
<br>- Geoff "Gef" Davis <a href="mailto:gefdavis@dingoblue.net.au"><gefdavis@dingoblue.net.au></a>
|
||||
<br>- Tristan "Jherax" Blease <a href="mailto:jherax@qeradiant.com"><jherax@qeradiant.com></a>
|
||||
<br>- neo279, Erukian, space, ButtMonkey
|
||||
<br>- Thanks to John Hutton, AstroCreep and W2k for web help
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>FAQ:</b>
|
||||
<br>- Equim and Wex
|
||||
<br>
|
||||
</p>
|
||||
|
||||
</ul>
|
||||
|
||||
<br>
|
||||
|
||||
<p>
|
||||
Thanks to everyone on the beta mailing list and irc.telefragged.com #qeradiant
|
||||
for testing and feedback.
|
||||
<br><br>
|
||||
Updated icons by AstroCreep
|
||||
<br>Bitch-slapping by raYGunn
|
||||
</p>
|
||||
Special thanks to <a href="http://www.gtk.org" target="_new">The Gtk+ project</a> and specially <a href="mailto:tml@iki.fi">Tor Lillqvist</a>, maintainer of the <a href="http://www.gimp.org/win32/">win32 port of Gtk+</a>.
|
||||
</ul>
|
||||
|
||||
<div align="center">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<tr><td bgcolor="#003366" align="center">
|
||||
|
||||
</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 248 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 154 B |
|
Before Width: | Height: | Size: 156 B |
|
Before Width: | Height: | Size: 154 B |
|
Before Width: | Height: | Size: 154 B |
|
Before Width: | Height: | Size: 154 B |
|
Before Width: | Height: | Size: 776 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 108 B |
|
Before Width: | Height: | Size: 776 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 776 B |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 316 B |
|
Before Width: | Height: | Size: 316 B |
|
Before Width: | Height: | Size: 316 B |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 776 B |
|
Before Width: | Height: | Size: 776 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 200 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 293 KiB |
|
Before Width: | Height: | Size: 776 B |
|
Before Width: | Height: | Size: 774 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 776 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 126 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 248 B |
|
Before Width: | Height: | Size: 572 B |
|
Before Width: | Height: | Size: 568 B |
|
Before Width: | Height: | Size: 572 B |
|
Before Width: | Height: | Size: 572 B |
@@ -1,92 +0,0 @@
|
||||
/// ============================================================================
|
||||
/*
|
||||
Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
|
||||
Please see the file "AUTHORS" for a list of contributors
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/// ============================================================================
|
||||
|
||||
#include "utils.cg"
|
||||
|
||||
struct cg_vertex2fragment
|
||||
{
|
||||
float4 position : TEXCOORD0;
|
||||
float4 tex_diffuse_bump : TEXCOORD1;
|
||||
float4 tex_specular : TEXCOORD2;
|
||||
float4 tex_atten_xy_z : TEXCOORD3;
|
||||
|
||||
float3 tangent : TEXCOORD4;
|
||||
float3 binormal : TEXCOORD5;
|
||||
float3 normal : TEXCOORD6;
|
||||
};
|
||||
|
||||
struct cg_fragment2final
|
||||
{
|
||||
float4 color : COLOR;
|
||||
};
|
||||
|
||||
|
||||
cg_fragment2final main(cg_vertex2fragment IN,
|
||||
uniform sampler2D diffusemap,
|
||||
uniform sampler2D bumpmap,
|
||||
uniform sampler2D specularmap,
|
||||
uniform sampler2D attenuationmap_xy,
|
||||
uniform sampler2D attenuationmap_z,
|
||||
uniform float3 view_origin,
|
||||
uniform float3 light_origin,
|
||||
uniform float3 light_color,
|
||||
uniform float bump_scale,
|
||||
uniform float specular_exponent)
|
||||
{
|
||||
cg_fragment2final OUT;
|
||||
|
||||
// construct object-space-to-tangent-space 3x3 matrix
|
||||
float3x3 rotation = float3x3(IN.tangent, IN.binormal, IN.normal);
|
||||
|
||||
// compute view direction in tangent space
|
||||
float3 V = normalize(mul(rotation, view_origin - IN.position.xyz));
|
||||
|
||||
// compute light direction in tangent space
|
||||
float3 L = normalize(mul(rotation, (light_origin - IN.position.xyz)));
|
||||
|
||||
// compute half angle in tangent space
|
||||
float3 H = normalize(L + V);
|
||||
|
||||
// compute normal in tangent space from bumpmap
|
||||
float3 T = CG_Expand(tex2D(bumpmap, IN.tex_diffuse_bump.zw).xyz);
|
||||
T.z *= bump_scale;
|
||||
float3 N = normalize(T);
|
||||
|
||||
// compute the diffuse term
|
||||
float4 diffuse = tex2D(diffusemap, IN.tex_diffuse_bump.xy);
|
||||
diffuse.rgb *= light_color * saturate(dot(N, L));
|
||||
|
||||
// compute the specular term
|
||||
float3 specular = tex2D(specularmap, IN.tex_specular.xy).rgb * light_color * pow(saturate(dot(N, H)), specular_exponent);
|
||||
|
||||
// compute attenuation
|
||||
float3 attenuation_xy = tex2Dproj(attenuationmap_xy, float3(IN.tex_atten_xy_z.x, IN.tex_atten_xy_z.y, IN.tex_atten_xy_z.w)).rgb;
|
||||
float3 attenuation_z = tex2D(attenuationmap_z, float2(IN.tex_atten_xy_z.z, 0)).rgb;
|
||||
|
||||
// compute final color
|
||||
OUT.color.rgba = diffuse;
|
||||
OUT.color.rgb += specular;
|
||||
OUT.color.rgb *= attenuation_xy;
|
||||
OUT.color.rgb *= attenuation_z;
|
||||
|
||||
return OUT;
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
/// ============================================================================
|
||||
/*
|
||||
Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
|
||||
Please see the file "AUTHORS" for a list of contributors
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/// ============================================================================
|
||||
|
||||
|
||||
struct cg_app2vertex
|
||||
{
|
||||
float4 position : POSITION;
|
||||
float4 tex0 : ATTR8;
|
||||
|
||||
float3 tangent : ATTR9;
|
||||
float3 binormal : ATTR10;
|
||||
float3 normal : ATTR11;
|
||||
};
|
||||
|
||||
struct cg_vertex2fragment
|
||||
{
|
||||
float4 hposition : POSITION;
|
||||
|
||||
float4 position : TEXCOORD0;
|
||||
float4 tex_diffuse_bump : TEXCOORD1;
|
||||
float4 tex_specular : TEXCOORD2;
|
||||
float4 tex_atten_xy_z : TEXCOORD3;
|
||||
|
||||
float3 tangent : TEXCOORD4;
|
||||
float3 binormal : TEXCOORD5;
|
||||
float3 normal : TEXCOORD6;
|
||||
};
|
||||
|
||||
|
||||
|
||||
cg_vertex2fragment main(cg_app2vertex IN)
|
||||
{
|
||||
cg_vertex2fragment OUT;
|
||||
|
||||
// transform vertex position into homogenous clip-space
|
||||
OUT.hposition = mul(glstate.matrix.mvp, IN.position);
|
||||
|
||||
// assign position in object space
|
||||
OUT.position = IN.position;
|
||||
|
||||
// transform texcoords
|
||||
OUT.tex_diffuse_bump.xy = mul(glstate.matrix.texture[0], IN.tex0).xy;
|
||||
|
||||
// transform texcoords
|
||||
OUT.tex_diffuse_bump.zw = mul(glstate.matrix.texture[1], IN.tex0).xy;
|
||||
|
||||
// transform texcoords
|
||||
OUT.tex_specular = mul(glstate.matrix.texture[2], IN.tex0);
|
||||
|
||||
// transform vertex position into light space
|
||||
OUT.tex_atten_xy_z = mul(glstate.matrix.texture[3], IN.position);
|
||||
|
||||
// assign tangent space vectors
|
||||
OUT.tangent = IN.tangent;
|
||||
OUT.binormal = IN.binormal;
|
||||
OUT.normal = IN.normal;
|
||||
|
||||
return OUT;
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
!!ARBfp1.0
|
||||
# cgc version 1.3.0001, build date Aug 4 2004 10:01:10
|
||||
# command line args: -profile arbfp1
|
||||
# source file: ..\..\setup\data\tools\gl\lighting_DBS_XY_Z_arbfp1.cg
|
||||
# source file: ..\..\setup\data\tools\gl/utils.cg
|
||||
#vendor NVIDIA Corporation
|
||||
#version 1.0.02
|
||||
#profile arbfp1
|
||||
#program main
|
||||
#semantic main.diffusemap
|
||||
#semantic main.bumpmap
|
||||
#semantic main.specularmap
|
||||
#semantic main.attenuationmap_xy
|
||||
#semantic main.attenuationmap_z
|
||||
#semantic main.view_origin
|
||||
#semantic main.light_origin
|
||||
#semantic main.light_color
|
||||
#semantic main.bump_scale
|
||||
#semantic main.specular_exponent
|
||||
#var float4 IN.position : $vin.TEX0 : TEX0 : 0 : 1
|
||||
#var float4 IN.tex_diffuse_bump : $vin.TEX1 : TEX1 : 0 : 1
|
||||
#var float4 IN.tex_specular : $vin.TEX2 : TEX2 : 0 : 1
|
||||
#var float4 IN.tex_atten_xy_z : $vin.TEX3 : TEX3 : 0 : 1
|
||||
#var float3 IN.tangent : $vin.TEX4 : TEX4 : 0 : 1
|
||||
#var float3 IN.binormal : $vin.TEX5 : TEX5 : 0 : 1
|
||||
#var float3 IN.normal : $vin.TEX6 : TEX6 : 0 : 1
|
||||
#var sampler2D diffusemap : : texunit 0 : 1 : 1
|
||||
#var sampler2D bumpmap : : texunit 1 : 2 : 1
|
||||
#var sampler2D specularmap : : texunit 2 : 3 : 1
|
||||
#var sampler2D attenuationmap_xy : : texunit 3 : 4 : 1
|
||||
#var sampler2D attenuationmap_z : : texunit 4 : 5 : 1
|
||||
#var float3 view_origin : : c[4] : 6 : 1
|
||||
#var float3 light_origin : : c[2] : 7 : 1
|
||||
#var float3 light_color : : c[3] : 8 : 1
|
||||
#var float bump_scale : : c[1] : 9 : 1
|
||||
#var float specular_exponent : : c[5] : 10 : 1
|
||||
#var float4 main.color : $vout.COL : COL : -1 : 1
|
||||
#const c[0] = 0.5 2 0
|
||||
PARAM c[6] = { { 0.5, 2, 0 },
|
||||
program.local[1..5] };
|
||||
TEMP R0;
|
||||
TEMP R1;
|
||||
TEMP R2;
|
||||
ADD R1.xyz, -fragment.texcoord[0], c[2];
|
||||
DP3 R0.z, fragment.texcoord[6], R1;
|
||||
DP3 R0.x, fragment.texcoord[4], R1;
|
||||
DP3 R0.y, fragment.texcoord[5], R1;
|
||||
ADD R1.xyz, -fragment.texcoord[0], c[4];
|
||||
DP3 R0.w, R0, R0;
|
||||
DP3 R2.z, fragment.texcoord[6], R1;
|
||||
DP3 R2.x, fragment.texcoord[4], R1;
|
||||
DP3 R2.y, fragment.texcoord[5], R1;
|
||||
RSQ R0.w, R0.w;
|
||||
MUL R1.xyz, R0.w, R0;
|
||||
DP3 R1.w, R2, R2;
|
||||
RSQ R0.w, R1.w;
|
||||
MUL R2.xyz, R0.w, R2;
|
||||
ADD R2.xyz, R1, R2;
|
||||
DP3 R0.w, R2, R2;
|
||||
RSQ R2.w, R0.w;
|
||||
TEX R0.xyz, fragment.texcoord[1].zwzw, texture[1], 2D;
|
||||
ADD R0.xyz, R0, -c[0].x;
|
||||
MUL R0.xyz, R0, c[0].y;
|
||||
MUL R0.z, R0, c[1].x;
|
||||
DP3 R1.w, R0, R0;
|
||||
RSQ R0.w, R1.w;
|
||||
MUL R0.xyz, R0.w, R0;
|
||||
MUL R2.xyz, R2.w, R2;
|
||||
DP3_SAT R0.w, R0, R2;
|
||||
DP3_SAT R0.x, R0, R1;
|
||||
TEX R2.xyz, fragment.texcoord[2], texture[2], 2D;
|
||||
MUL R1.xyz, R2, c[3];
|
||||
POW R0.w, R0.w, c[5].x;
|
||||
MUL R2.xyz, R1, R0.w;
|
||||
MUL R1.xyz, R0.x, c[3];
|
||||
TEX R0, fragment.texcoord[1], texture[0], 2D;
|
||||
MAD R2.xyz, R0, R1, R2;
|
||||
TXP R0.xyz, fragment.texcoord[3], texture[3], 2D;
|
||||
MOV R1.y, c[0].z;
|
||||
MOV R1.x, fragment.texcoord[3].z;
|
||||
TEX R1.xyz, R1, texture[4], 2D;
|
||||
MUL R0.xyz, R2, R0;
|
||||
MUL result.color.xyz, R0, R1;
|
||||
MOV result.color.w, R0;
|
||||
END
|
||||
# 41 instructions, 3 R-regs
|
||||
@@ -1,73 +0,0 @@
|
||||
/// ============================================================================
|
||||
/*
|
||||
Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
|
||||
Please see the file "CONTRIBUTORS" for a list of contributors
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/// ============================================================================
|
||||
|
||||
uniform sampler2D u_diffusemap;
|
||||
uniform sampler2D u_bumpmap;
|
||||
uniform sampler2D u_specularmap;
|
||||
uniform sampler2D u_attenuationmap_xy;
|
||||
uniform sampler2D u_attenuationmap_z;
|
||||
uniform vec3 u_view_origin;
|
||||
uniform vec3 u_light_origin;
|
||||
uniform vec3 u_light_color;
|
||||
uniform float u_bump_scale;
|
||||
uniform float u_specular_exponent;
|
||||
|
||||
varying vec3 var_vertex;
|
||||
varying vec4 var_tex_diffuse_bump;
|
||||
varying vec2 var_tex_specular;
|
||||
varying vec4 var_tex_atten_xy_z;
|
||||
varying mat3 var_mat_os2ts;
|
||||
|
||||
void main()
|
||||
{
|
||||
// compute view direction in tangent space
|
||||
vec3 V = normalize(var_mat_os2ts * (u_view_origin - var_vertex));
|
||||
|
||||
// compute light direction in tangent space
|
||||
vec3 L = normalize(var_mat_os2ts * (u_light_origin - var_vertex));
|
||||
|
||||
// compute half angle in tangent space
|
||||
vec3 H = normalize(L + V);
|
||||
|
||||
// compute normal in tangent space from bumpmap
|
||||
vec3 N = 2.0 * (texture2D(u_bumpmap, var_tex_diffuse_bump.pq).xyz - 0.5);
|
||||
N.z *= u_bump_scale;
|
||||
N = normalize(N);
|
||||
|
||||
// compute the diffuse term
|
||||
vec4 diffuse = texture2D(u_diffusemap, var_tex_diffuse_bump.st);
|
||||
diffuse.rgb *= u_light_color * clamp(dot(N, L), 0.0, 1.0);
|
||||
|
||||
// compute the specular term
|
||||
vec3 specular = texture2D(u_specularmap, var_tex_specular).rgb * u_light_color * pow(clamp(dot(N, H), 0.0, 1.0), u_specular_exponent);
|
||||
|
||||
// compute attenuation
|
||||
vec3 attenuation_xy = texture2DProj(u_attenuationmap_xy, vec3(var_tex_atten_xy_z.x, var_tex_atten_xy_z.y, var_tex_atten_xy_z.w)).rgb;
|
||||
vec3 attenuation_z = texture2D(u_attenuationmap_z, vec2(var_tex_atten_xy_z.z, 0)).rgb;
|
||||
|
||||
// compute final color
|
||||
gl_FragColor.rgba = diffuse;
|
||||
gl_FragColor.rgb += specular;
|
||||
gl_FragColor.rgb *= attenuation_xy;
|
||||
gl_FragColor.rgb *= attenuation_z;
|
||||
}
|
||||
|
||||
@@ -1,410 +0,0 @@
|
||||
!!ARBvp1.0
|
||||
# cgc version 1.3.0001, build date Aug 4 2004 10:01:10
|
||||
# command line args: -profile arbvp1
|
||||
# source file: ..\..\setup\data\tools\gl\lighting_DBS_XY_Z_arbvp1.cg
|
||||
#vendor NVIDIA Corporation
|
||||
#version 1.0.02
|
||||
#profile arbvp1
|
||||
#program main
|
||||
#semantic glstate : STATE
|
||||
#var float4 glstate.material.ambient : STATE.MATERIAL.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.material.diffuse : STATE.MATERIAL.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.material.specular : STATE.MATERIAL.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.material.emission : STATE.MATERIAL.EMISSION : : -1 : 0
|
||||
#var float4 glstate.material.shininess : STATE.MATERIAL.SHININESS : : -1 : 0
|
||||
#var float4 glstate.material.front.ambient : STATE.MATERIAL.FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.material.front.diffuse : STATE.MATERIAL.FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.material.front.specular : STATE.MATERIAL.FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.material.front.emission : STATE.MATERIAL.FRONT.EMISSION : : -1 : 0
|
||||
#var float4 glstate.material.front.shininess : STATE.MATERIAL.FRONT.SHININESS : : -1 : 0
|
||||
#var float4 glstate.material.back.ambient : STATE.MATERIAL.BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.material.back.diffuse : STATE.MATERIAL.BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.material.back.specular : STATE.MATERIAL.BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.material.back.emission : STATE.MATERIAL.BACK.EMISSION : : -1 : 0
|
||||
#var float4 glstate.material.back.shininess : STATE.MATERIAL.BACK.SHININESS : : -1 : 0
|
||||
#var float4 glstate.light[0].ambient : STATE.LIGHT[0].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[0].diffuse : STATE.LIGHT[0].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[0].specular : STATE.LIGHT[0].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[0].position : STATE.LIGHT[0].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[0].attenuation : STATE.LIGHT[0].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[0].spot.direction : STATE.LIGHT[0].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[0].half : STATE.LIGHT[0].HALF : : -1 : 0
|
||||
#var float4 glstate.light[1].ambient : STATE.LIGHT[1].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[1].diffuse : STATE.LIGHT[1].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[1].specular : STATE.LIGHT[1].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[1].position : STATE.LIGHT[1].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[1].attenuation : STATE.LIGHT[1].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[1].spot.direction : STATE.LIGHT[1].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[1].half : STATE.LIGHT[1].HALF : : -1 : 0
|
||||
#var float4 glstate.light[2].ambient : STATE.LIGHT[2].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[2].diffuse : STATE.LIGHT[2].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[2].specular : STATE.LIGHT[2].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[2].position : STATE.LIGHT[2].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[2].attenuation : STATE.LIGHT[2].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[2].spot.direction : STATE.LIGHT[2].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[2].half : STATE.LIGHT[2].HALF : : -1 : 0
|
||||
#var float4 glstate.light[3].ambient : STATE.LIGHT[3].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[3].diffuse : STATE.LIGHT[3].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[3].specular : STATE.LIGHT[3].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[3].position : STATE.LIGHT[3].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[3].attenuation : STATE.LIGHT[3].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[3].spot.direction : STATE.LIGHT[3].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[3].half : STATE.LIGHT[3].HALF : : -1 : 0
|
||||
#var float4 glstate.light[4].ambient : STATE.LIGHT[4].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[4].diffuse : STATE.LIGHT[4].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[4].specular : STATE.LIGHT[4].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[4].position : STATE.LIGHT[4].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[4].attenuation : STATE.LIGHT[4].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[4].spot.direction : STATE.LIGHT[4].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[4].half : STATE.LIGHT[4].HALF : : -1 : 0
|
||||
#var float4 glstate.light[5].ambient : STATE.LIGHT[5].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[5].diffuse : STATE.LIGHT[5].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[5].specular : STATE.LIGHT[5].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[5].position : STATE.LIGHT[5].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[5].attenuation : STATE.LIGHT[5].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[5].spot.direction : STATE.LIGHT[5].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[5].half : STATE.LIGHT[5].HALF : : -1 : 0
|
||||
#var float4 glstate.light[6].ambient : STATE.LIGHT[6].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[6].diffuse : STATE.LIGHT[6].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[6].specular : STATE.LIGHT[6].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[6].position : STATE.LIGHT[6].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[6].attenuation : STATE.LIGHT[6].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[6].spot.direction : STATE.LIGHT[6].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[6].half : STATE.LIGHT[6].HALF : : -1 : 0
|
||||
#var float4 glstate.light[7].ambient : STATE.LIGHT[7].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[7].diffuse : STATE.LIGHT[7].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[7].specular : STATE.LIGHT[7].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[7].position : STATE.LIGHT[7].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[7].attenuation : STATE.LIGHT[7].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[7].spot.direction : STATE.LIGHT[7].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[7].half : STATE.LIGHT[7].HALF : : -1 : 0
|
||||
#var float4 glstate.lightmodel.ambient : STATE.LIGHTMODEL.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightmodel.scenecolor : STATE.LIGHTMODEL.SCENECOLOR : : -1 : 0
|
||||
#var float4 glstate.lightmodel.front.scenecolor : STATE.LIGHTMODEL.FRONT.SCENECOLOR : : -1 : 0
|
||||
#var float4 glstate.lightmodel.back.scenecolor : STATE.LIGHTMODEL.BACK.SCENECOLOR : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].ambient : STATE.LIGHTPROD[0].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].diffuse : STATE.LIGHTPROD[0].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].specular : STATE.LIGHTPROD[0].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].front.ambient : STATE.LIGHTPROD[0].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].front.diffuse : STATE.LIGHTPROD[0].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].front.specular : STATE.LIGHTPROD[0].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].back.ambient : STATE.LIGHTPROD[0].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].back.diffuse : STATE.LIGHTPROD[0].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].back.specular : STATE.LIGHTPROD[0].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].ambient : STATE.LIGHTPROD[1].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].diffuse : STATE.LIGHTPROD[1].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].specular : STATE.LIGHTPROD[1].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].front.ambient : STATE.LIGHTPROD[1].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].front.diffuse : STATE.LIGHTPROD[1].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].front.specular : STATE.LIGHTPROD[1].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].back.ambient : STATE.LIGHTPROD[1].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].back.diffuse : STATE.LIGHTPROD[1].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].back.specular : STATE.LIGHTPROD[1].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].ambient : STATE.LIGHTPROD[2].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].diffuse : STATE.LIGHTPROD[2].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].specular : STATE.LIGHTPROD[2].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].front.ambient : STATE.LIGHTPROD[2].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].front.diffuse : STATE.LIGHTPROD[2].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].front.specular : STATE.LIGHTPROD[2].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].back.ambient : STATE.LIGHTPROD[2].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].back.diffuse : STATE.LIGHTPROD[2].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].back.specular : STATE.LIGHTPROD[2].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].ambient : STATE.LIGHTPROD[3].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].diffuse : STATE.LIGHTPROD[3].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].specular : STATE.LIGHTPROD[3].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].front.ambient : STATE.LIGHTPROD[3].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].front.diffuse : STATE.LIGHTPROD[3].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].front.specular : STATE.LIGHTPROD[3].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].back.ambient : STATE.LIGHTPROD[3].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].back.diffuse : STATE.LIGHTPROD[3].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].back.specular : STATE.LIGHTPROD[3].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].ambient : STATE.LIGHTPROD[4].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].diffuse : STATE.LIGHTPROD[4].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].specular : STATE.LIGHTPROD[4].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].front.ambient : STATE.LIGHTPROD[4].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].front.diffuse : STATE.LIGHTPROD[4].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].front.specular : STATE.LIGHTPROD[4].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].back.ambient : STATE.LIGHTPROD[4].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].back.diffuse : STATE.LIGHTPROD[4].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].back.specular : STATE.LIGHTPROD[4].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].ambient : STATE.LIGHTPROD[5].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].diffuse : STATE.LIGHTPROD[5].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].specular : STATE.LIGHTPROD[5].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].front.ambient : STATE.LIGHTPROD[5].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].front.diffuse : STATE.LIGHTPROD[5].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].front.specular : STATE.LIGHTPROD[5].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].back.ambient : STATE.LIGHTPROD[5].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].back.diffuse : STATE.LIGHTPROD[5].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].back.specular : STATE.LIGHTPROD[5].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].ambient : STATE.LIGHTPROD[6].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].diffuse : STATE.LIGHTPROD[6].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].specular : STATE.LIGHTPROD[6].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].front.ambient : STATE.LIGHTPROD[6].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].front.diffuse : STATE.LIGHTPROD[6].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].front.specular : STATE.LIGHTPROD[6].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].back.ambient : STATE.LIGHTPROD[6].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].back.diffuse : STATE.LIGHTPROD[6].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].back.specular : STATE.LIGHTPROD[6].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].ambient : STATE.LIGHTPROD[7].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].diffuse : STATE.LIGHTPROD[7].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].specular : STATE.LIGHTPROD[7].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].front.ambient : STATE.LIGHTPROD[7].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].front.diffuse : STATE.LIGHTPROD[7].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].front.specular : STATE.LIGHTPROD[7].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].back.ambient : STATE.LIGHTPROD[7].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].back.diffuse : STATE.LIGHTPROD[7].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].back.specular : STATE.LIGHTPROD[7].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.texgen[0].eye.s : STATE.TEXGEN[0].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[0].eye.t : STATE.TEXGEN[0].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[0].eye.r : STATE.TEXGEN[0].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[0].eye.q : STATE.TEXGEN[0].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[0].object.s : STATE.TEXGEN[0].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[0].object.t : STATE.TEXGEN[0].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[0].object.r : STATE.TEXGEN[0].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[0].object.q : STATE.TEXGEN[0].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[1].eye.s : STATE.TEXGEN[1].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[1].eye.t : STATE.TEXGEN[1].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[1].eye.r : STATE.TEXGEN[1].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[1].eye.q : STATE.TEXGEN[1].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[1].object.s : STATE.TEXGEN[1].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[1].object.t : STATE.TEXGEN[1].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[1].object.r : STATE.TEXGEN[1].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[1].object.q : STATE.TEXGEN[1].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[2].eye.s : STATE.TEXGEN[2].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[2].eye.t : STATE.TEXGEN[2].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[2].eye.r : STATE.TEXGEN[2].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[2].eye.q : STATE.TEXGEN[2].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[2].object.s : STATE.TEXGEN[2].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[2].object.t : STATE.TEXGEN[2].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[2].object.r : STATE.TEXGEN[2].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[2].object.q : STATE.TEXGEN[2].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[3].eye.s : STATE.TEXGEN[3].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[3].eye.t : STATE.TEXGEN[3].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[3].eye.r : STATE.TEXGEN[3].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[3].eye.q : STATE.TEXGEN[3].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[3].object.s : STATE.TEXGEN[3].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[3].object.t : STATE.TEXGEN[3].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[3].object.r : STATE.TEXGEN[3].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[3].object.q : STATE.TEXGEN[3].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[4].eye.s : STATE.TEXGEN[4].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[4].eye.t : STATE.TEXGEN[4].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[4].eye.r : STATE.TEXGEN[4].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[4].eye.q : STATE.TEXGEN[4].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[4].object.s : STATE.TEXGEN[4].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[4].object.t : STATE.TEXGEN[4].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[4].object.r : STATE.TEXGEN[4].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[4].object.q : STATE.TEXGEN[4].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[5].eye.s : STATE.TEXGEN[5].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[5].eye.t : STATE.TEXGEN[5].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[5].eye.r : STATE.TEXGEN[5].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[5].eye.q : STATE.TEXGEN[5].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[5].object.s : STATE.TEXGEN[5].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[5].object.t : STATE.TEXGEN[5].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[5].object.r : STATE.TEXGEN[5].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[5].object.q : STATE.TEXGEN[5].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[6].eye.s : STATE.TEXGEN[6].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[6].eye.t : STATE.TEXGEN[6].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[6].eye.r : STATE.TEXGEN[6].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[6].eye.q : STATE.TEXGEN[6].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[6].object.s : STATE.TEXGEN[6].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[6].object.t : STATE.TEXGEN[6].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[6].object.r : STATE.TEXGEN[6].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[6].object.q : STATE.TEXGEN[6].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[7].eye.s : STATE.TEXGEN[7].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[7].eye.t : STATE.TEXGEN[7].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[7].eye.r : STATE.TEXGEN[7].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[7].eye.q : STATE.TEXGEN[7].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[7].object.s : STATE.TEXGEN[7].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[7].object.t : STATE.TEXGEN[7].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[7].object.r : STATE.TEXGEN[7].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[7].object.q : STATE.TEXGEN[7].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.fog.color : STATE.FOG.COLOR : : -1 : 0
|
||||
#var float4 glstate.fog.params : STATE.FOG.PARAMS : : -1 : 0
|
||||
#var float4 glstate.clip[0].plane : STATE.CLIP[0].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[1].plane : STATE.CLIP[1].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[2].plane : STATE.CLIP[2].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[3].plane : STATE.CLIP[3].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[4].plane : STATE.CLIP[4].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[5].plane : STATE.CLIP[5].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[6].plane : STATE.CLIP[6].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[7].plane : STATE.CLIP[7].PLANE : : -1 : 0
|
||||
#var float glstate.point.size : STATE.POINT.SIZE : : -1 : 0
|
||||
#var float glstate.point.attenuation : STATE.POINT.ATTENUATION : : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[0] : STATE.MATRIX.MODELVIEW[0] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[1] : STATE.MATRIX.MODELVIEW[1] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[2] : STATE.MATRIX.MODELVIEW[2] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[3] : STATE.MATRIX.MODELVIEW[3] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[4] : STATE.MATRIX.MODELVIEW[4] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[5] : STATE.MATRIX.MODELVIEW[5] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[6] : STATE.MATRIX.MODELVIEW[6] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[7] : STATE.MATRIX.MODELVIEW[7] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.projection : STATE.MATRIX.PROJECTION : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.mvp : STATE.MATRIX.MVP : c[0], 4 : -1 : 1
|
||||
#var float4x4 glstate.matrix.texture[0] : STATE.MATRIX.TEXTURE[0] : c[4], 4 : -1 : 1
|
||||
#var float4x4 glstate.matrix.texture[1] : STATE.MATRIX.TEXTURE[1] : c[8], 4 : -1 : 1
|
||||
#var float4x4 glstate.matrix.texture[2] : STATE.MATRIX.TEXTURE[2] : c[12], 4 : -1 : 1
|
||||
#var float4x4 glstate.matrix.texture[3] : STATE.MATRIX.TEXTURE[3] : c[16], 4 : -1 : 1
|
||||
#var float4x4 glstate.matrix.texture[4] : STATE.MATRIX.TEXTURE[4] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.texture[5] : STATE.MATRIX.TEXTURE[5] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.texture[6] : STATE.MATRIX.TEXTURE[6] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.texture[7] : STATE.MATRIX.TEXTURE[7] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[0] : STATE.MATRIX.PALETTE[0] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[1] : STATE.MATRIX.PALETTE[1] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[2] : STATE.MATRIX.PALETTE[2] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[3] : STATE.MATRIX.PALETTE[3] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[4] : STATE.MATRIX.PALETTE[4] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[5] : STATE.MATRIX.PALETTE[5] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[6] : STATE.MATRIX.PALETTE[6] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[7] : STATE.MATRIX.PALETTE[7] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[0] : STATE.MATRIX.PROGRAM[0] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[1] : STATE.MATRIX.PROGRAM[1] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[2] : STATE.MATRIX.PROGRAM[2] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[3] : STATE.MATRIX.PROGRAM[3] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[4] : STATE.MATRIX.PROGRAM[4] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[5] : STATE.MATRIX.PROGRAM[5] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[6] : STATE.MATRIX.PROGRAM[6] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[7] : STATE.MATRIX.PROGRAM[7] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[0] : STATE.MATRIX.MODELVIEW[0].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[1] : STATE.MATRIX.MODELVIEW[1].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[2] : STATE.MATRIX.MODELVIEW[2].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[3] : STATE.MATRIX.MODELVIEW[3].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[4] : STATE.MATRIX.MODELVIEW[4].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[5] : STATE.MATRIX.MODELVIEW[5].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[6] : STATE.MATRIX.MODELVIEW[6].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[7] : STATE.MATRIX.MODELVIEW[7].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.projection : STATE.MATRIX.PROJECTION.INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.mvp : STATE.MATRIX.MVP.INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[0] : STATE.MATRIX.TEXTURE[0].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[1] : STATE.MATRIX.TEXTURE[1].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[2] : STATE.MATRIX.TEXTURE[2].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[3] : STATE.MATRIX.TEXTURE[3].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[4] : STATE.MATRIX.TEXTURE[4].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[5] : STATE.MATRIX.TEXTURE[5].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[6] : STATE.MATRIX.TEXTURE[6].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[7] : STATE.MATRIX.TEXTURE[7].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[0] : STATE.MATRIX.PALETTE[0].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[1] : STATE.MATRIX.PALETTE[1].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[2] : STATE.MATRIX.PALETTE[2].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[3] : STATE.MATRIX.PALETTE[3].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[4] : STATE.MATRIX.PALETTE[4].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[5] : STATE.MATRIX.PALETTE[5].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[6] : STATE.MATRIX.PALETTE[6].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[7] : STATE.MATRIX.PALETTE[7].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[0] : STATE.MATRIX.PROGRAM[0].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[1] : STATE.MATRIX.PROGRAM[1].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[2] : STATE.MATRIX.PROGRAM[2].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[3] : STATE.MATRIX.PROGRAM[3].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[4] : STATE.MATRIX.PROGRAM[4].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[5] : STATE.MATRIX.PROGRAM[5].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[6] : STATE.MATRIX.PROGRAM[6].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[7] : STATE.MATRIX.PROGRAM[7].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[0] : STATE.MATRIX.MODELVIEW[0].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[1] : STATE.MATRIX.MODELVIEW[1].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[2] : STATE.MATRIX.MODELVIEW[2].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[3] : STATE.MATRIX.MODELVIEW[3].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[4] : STATE.MATRIX.MODELVIEW[4].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[5] : STATE.MATRIX.MODELVIEW[5].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[6] : STATE.MATRIX.MODELVIEW[6].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[7] : STATE.MATRIX.MODELVIEW[7].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.projection : STATE.MATRIX.PROJECTION.TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.mvp : STATE.MATRIX.MVP.TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[0] : STATE.MATRIX.TEXTURE[0].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[1] : STATE.MATRIX.TEXTURE[1].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[2] : STATE.MATRIX.TEXTURE[2].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[3] : STATE.MATRIX.TEXTURE[3].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[4] : STATE.MATRIX.TEXTURE[4].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[5] : STATE.MATRIX.TEXTURE[5].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[6] : STATE.MATRIX.TEXTURE[6].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[7] : STATE.MATRIX.TEXTURE[7].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[0] : STATE.MATRIX.PALETTE[0].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[1] : STATE.MATRIX.PALETTE[1].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[2] : STATE.MATRIX.PALETTE[2].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[3] : STATE.MATRIX.PALETTE[3].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[4] : STATE.MATRIX.PALETTE[4].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[5] : STATE.MATRIX.PALETTE[5].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[6] : STATE.MATRIX.PALETTE[6].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[7] : STATE.MATRIX.PALETTE[7].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[0] : STATE.MATRIX.PROGRAM[0].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[1] : STATE.MATRIX.PROGRAM[1].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[2] : STATE.MATRIX.PROGRAM[2].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[3] : STATE.MATRIX.PROGRAM[3].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[4] : STATE.MATRIX.PROGRAM[4].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[5] : STATE.MATRIX.PROGRAM[5].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[6] : STATE.MATRIX.PROGRAM[6].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[7] : STATE.MATRIX.PROGRAM[7].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[0] : STATE.MATRIX.MODELVIEW[0].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[1] : STATE.MATRIX.MODELVIEW[1].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[2] : STATE.MATRIX.MODELVIEW[2].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[3] : STATE.MATRIX.MODELVIEW[3].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[4] : STATE.MATRIX.MODELVIEW[4].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[5] : STATE.MATRIX.MODELVIEW[5].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[6] : STATE.MATRIX.MODELVIEW[6].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[7] : STATE.MATRIX.MODELVIEW[7].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.projection : STATE.MATRIX.PROJECTION.INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.mvp : STATE.MATRIX.MVP.INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[0] : STATE.MATRIX.TEXTURE[0].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[1] : STATE.MATRIX.TEXTURE[1].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[2] : STATE.MATRIX.TEXTURE[2].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[3] : STATE.MATRIX.TEXTURE[3].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[4] : STATE.MATRIX.TEXTURE[4].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[5] : STATE.MATRIX.TEXTURE[5].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[6] : STATE.MATRIX.TEXTURE[6].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[7] : STATE.MATRIX.TEXTURE[7].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[0] : STATE.MATRIX.PALETTE[0].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[1] : STATE.MATRIX.PALETTE[1].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[2] : STATE.MATRIX.PALETTE[2].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[3] : STATE.MATRIX.PALETTE[3].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[4] : STATE.MATRIX.PALETTE[4].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[5] : STATE.MATRIX.PALETTE[5].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[6] : STATE.MATRIX.PALETTE[6].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[7] : STATE.MATRIX.PALETTE[7].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[0] : STATE.MATRIX.PROGRAM[0].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[1] : STATE.MATRIX.PROGRAM[1].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[2] : STATE.MATRIX.PROGRAM[2].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[3] : STATE.MATRIX.PROGRAM[3].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[4] : STATE.MATRIX.PROGRAM[4].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[5] : STATE.MATRIX.PROGRAM[5].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[6] : STATE.MATRIX.PROGRAM[6].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[7] : STATE.MATRIX.PROGRAM[7].INVTRANS : , 4 : -1 : 0
|
||||
#var float4 IN.position : $vin.POSITION : POSITION : 0 : 1
|
||||
#var float4 IN.tex0 : $vin.ATTR8 : ATTR8 : 0 : 1
|
||||
#var float3 IN.tangent : $vin.ATTR9 : ATTR9 : 0 : 1
|
||||
#var float3 IN.binormal : $vin.ATTR10 : ATTR10 : 0 : 1
|
||||
#var float3 IN.normal : $vin.ATTR11 : ATTR11 : 0 : 1
|
||||
#var float4 main.hposition : $vout.HPOS : HPOS : -1 : 1
|
||||
#var float4 main.position : $vout.TEX0 : TEX0 : -1 : 1
|
||||
#var float4 main.tex_diffuse_bump : $vout.TEX1 : TEX1 : -1 : 1
|
||||
#var float4 main.tex_specular : $vout.TEX2 : TEX2 : -1 : 1
|
||||
#var float4 main.tex_atten_xy_z : $vout.TEX3 : TEX3 : -1 : 1
|
||||
#var float3 main.tangent : $vout.TEX4 : TEX4 : -1 : 1
|
||||
#var float3 main.binormal : $vout.TEX5 : TEX5 : -1 : 1
|
||||
#var float3 main.normal : $vout.TEX6 : TEX6 : -1 : 1
|
||||
PARAM c[20] = { state.matrix.mvp,
|
||||
state.matrix.texture[0],
|
||||
state.matrix.texture[1],
|
||||
state.matrix.texture[2],
|
||||
state.matrix.texture[3] };
|
||||
TEMP R0;
|
||||
DP4 result.position.w, vertex.position, c[3];
|
||||
DP4 result.position.z, vertex.position, c[2];
|
||||
DP4 result.position.y, vertex.position, c[1];
|
||||
DP4 result.position.x, vertex.position, c[0];
|
||||
DP4 R0.y, vertex.attrib[8], c[9];
|
||||
DP4 R0.x, vertex.attrib[8], c[8];
|
||||
MOV result.texcoord[0], vertex.position;
|
||||
MOV result.texcoord[1].zw, R0.xyxy;
|
||||
DP4 result.texcoord[1].y, vertex.attrib[8], c[5];
|
||||
DP4 result.texcoord[1].x, vertex.attrib[8], c[4];
|
||||
DP4 result.texcoord[2].w, vertex.attrib[8], c[15];
|
||||
DP4 result.texcoord[2].z, vertex.attrib[8], c[14];
|
||||
DP4 result.texcoord[2].y, vertex.attrib[8], c[13];
|
||||
DP4 result.texcoord[2].x, vertex.attrib[8], c[12];
|
||||
DP4 result.texcoord[3].w, vertex.position, c[19];
|
||||
DP4 result.texcoord[3].z, vertex.position, c[18];
|
||||
DP4 result.texcoord[3].y, vertex.position, c[17];
|
||||
DP4 result.texcoord[3].x, vertex.position, c[16];
|
||||
MOV result.texcoord[4].xyz, vertex.attrib[9];
|
||||
MOV result.texcoord[5].xyz, vertex.attrib[10];
|
||||
MOV result.texcoord[6].xyz, vertex.attrib[11];
|
||||
END
|
||||
# 21 instructions, 1 R-regs
|
||||
@@ -1,58 +0,0 @@
|
||||
/// ============================================================================
|
||||
/*
|
||||
Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
|
||||
Please see the file "CONTRIBUTORS" for a list of contributors
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/// ============================================================================
|
||||
|
||||
attribute vec4 attr_TexCoord0;
|
||||
attribute vec3 attr_Tangent;
|
||||
attribute vec3 attr_Binormal;
|
||||
|
||||
varying vec3 var_vertex;
|
||||
varying vec4 var_tex_diffuse_bump;
|
||||
varying vec2 var_tex_specular;
|
||||
varying vec4 var_tex_atten_xy_z;
|
||||
varying mat3 var_mat_os2ts;
|
||||
|
||||
void main()
|
||||
{
|
||||
// transform vertex position into homogenous clip-space
|
||||
gl_Position = ftransform();
|
||||
|
||||
// assign position in object space
|
||||
var_vertex = gl_Vertex.xyz;
|
||||
|
||||
// transform texcoords into diffusemap texture space
|
||||
var_tex_diffuse_bump.st = (gl_TextureMatrix[0] * attr_TexCoord0).st;
|
||||
|
||||
// transform texcoords into bumpmap texture space
|
||||
var_tex_diffuse_bump.pq = (gl_TextureMatrix[1] * attr_TexCoord0).st;
|
||||
|
||||
// transform texcoords into specularmap texture space
|
||||
var_tex_specular = (gl_TextureMatrix[2] * attr_TexCoord0).st;
|
||||
|
||||
// calc light xy,z attenuation in light space
|
||||
var_tex_atten_xy_z = gl_TextureMatrix[3] * gl_Vertex;
|
||||
|
||||
|
||||
// construct object-space-to-tangent-space 3x3 matrix
|
||||
var_mat_os2ts = mat3( attr_Tangent.x, attr_Binormal.x, gl_Normal.x,
|
||||
attr_Tangent.y, attr_Binormal.y, gl_Normal.y,
|
||||
attr_Tangent.z, attr_Binormal.z, gl_Normal.z );
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
/// ============================================================================
|
||||
/*
|
||||
Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
|
||||
Please see the file "AUTHORS" for a list of contributors
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/// ============================================================================
|
||||
|
||||
// fresnel approximation
|
||||
float fast_fresnel(float3 I, float3 N, float3 fresnel_values)
|
||||
{
|
||||
float power = fresnel_values.x;
|
||||
float scale = fresnel_values.y;
|
||||
float bias = fresnel_values.z;
|
||||
|
||||
return bias + pow(1.0 - dot(I, N), power) * scale;
|
||||
}
|
||||
|
||||
float3 CG_Expand(float3 v)
|
||||
{
|
||||
return (v - 0.5) * 2; // expand a range-compressed vector
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
/// ============================================================================
|
||||
/*
|
||||
Copyright (C) 2003 Robert Beckebans <trebor_7@users.sourceforge.net>
|
||||
Copyright (C) 2003, 2004 contributors of the XreaL project
|
||||
Please see the file "AUTHORS" for a list of contributors
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/// ============================================================================
|
||||
|
||||
|
||||
struct cg_vertex2fragment
|
||||
{
|
||||
float4 position : POSITION;
|
||||
float4 tex0 : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct cg_fragment2final
|
||||
{
|
||||
float4 color : COLOR;
|
||||
};
|
||||
|
||||
|
||||
cg_fragment2final main(in cg_vertex2fragment IN,
|
||||
uniform sampler2D colormap)
|
||||
{
|
||||
cg_fragment2final OUT;
|
||||
|
||||
OUT.color.w = tex2D(colormap, IN.tex0.xy).a;
|
||||
|
||||
OUT.color.xyz = 0;
|
||||
|
||||
return OUT;
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
/// ============================================================================
|
||||
/*
|
||||
Copyright (C) 2003 Robert Beckebans <trebor_7@users.sourceforge.net>
|
||||
Copyright (C) 2003, 2004 contributors of the XreaL project
|
||||
Please see the file "AUTHORS" for a list of contributors
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/// ============================================================================
|
||||
|
||||
|
||||
struct cg_app2vertex
|
||||
{
|
||||
float4 position : ATTR0;
|
||||
float4 texcoord0 : ATTR8;
|
||||
};
|
||||
|
||||
struct cg_vertex2fragment
|
||||
{
|
||||
float4 position : POSITION;
|
||||
float4 tex0 : TEXCOORD0;
|
||||
};
|
||||
|
||||
|
||||
cg_vertex2fragment main(cg_app2vertex IN)
|
||||
{
|
||||
cg_vertex2fragment OUT;
|
||||
|
||||
// transform vertex position into homogenous clip-space
|
||||
OUT.position = mul(glstate.matrix.mvp, IN.position);
|
||||
|
||||
// transform texcoords into 1st texture space
|
||||
OUT.tex0 = mul(glstate.matrix.texture[0], IN.texcoord0);
|
||||
|
||||
return OUT;
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
!!ARBfp1.0
|
||||
# cgc version 1.3.0001, build date Aug 4 2004 10:01:10
|
||||
# command line args: -profile arbfp1
|
||||
# source file: ..\..\setup\data\tools\gl\zfill_arbfp1.cg
|
||||
#vendor NVIDIA Corporation
|
||||
#version 1.0.02
|
||||
#profile arbfp1
|
||||
#program main
|
||||
#semantic main.colormap
|
||||
#var float4 IN.position : : : 0 : 0
|
||||
#var float4 IN.tex0 : $vin.TEX0 : TEX0 : 0 : 1
|
||||
#var sampler2D colormap : : texunit 0 : 1 : 1
|
||||
#var float4 main.color : $vout.COL : COL : -1 : 1
|
||||
#const c[0] = 0
|
||||
PARAM c[1] = { { 0 } };
|
||||
MOV result.color.xyz, c[0].x;
|
||||
TEX result.color.w, fragment.texcoord[0], texture[0], 2D;
|
||||
END
|
||||
# 2 instructions, 0 R-regs
|
||||
@@ -1,29 +0,0 @@
|
||||
/// ============================================================================
|
||||
/*
|
||||
Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
|
||||
Please see the file "CONTRIBUTORS" for a list of contributors
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/// ============================================================================
|
||||
|
||||
uniform sampler2D u_colormap;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor.a = texture2D(u_colormap, gl_TexCoord[0].st).a;
|
||||
gl_FragColor.rgb = vec3(0.0, 0.0, 0.0);
|
||||
}
|
||||
@@ -1,384 +0,0 @@
|
||||
!!ARBvp1.0
|
||||
# cgc version 1.3.0001, build date Aug 4 2004 10:01:10
|
||||
# command line args: -profile arbvp1
|
||||
# source file: ..\..\setup\data\tools\gl\zfill_arbvp1.cg
|
||||
#vendor NVIDIA Corporation
|
||||
#version 1.0.02
|
||||
#profile arbvp1
|
||||
#program main
|
||||
#semantic glstate : STATE
|
||||
#var float4 glstate.material.ambient : STATE.MATERIAL.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.material.diffuse : STATE.MATERIAL.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.material.specular : STATE.MATERIAL.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.material.emission : STATE.MATERIAL.EMISSION : : -1 : 0
|
||||
#var float4 glstate.material.shininess : STATE.MATERIAL.SHININESS : : -1 : 0
|
||||
#var float4 glstate.material.front.ambient : STATE.MATERIAL.FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.material.front.diffuse : STATE.MATERIAL.FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.material.front.specular : STATE.MATERIAL.FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.material.front.emission : STATE.MATERIAL.FRONT.EMISSION : : -1 : 0
|
||||
#var float4 glstate.material.front.shininess : STATE.MATERIAL.FRONT.SHININESS : : -1 : 0
|
||||
#var float4 glstate.material.back.ambient : STATE.MATERIAL.BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.material.back.diffuse : STATE.MATERIAL.BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.material.back.specular : STATE.MATERIAL.BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.material.back.emission : STATE.MATERIAL.BACK.EMISSION : : -1 : 0
|
||||
#var float4 glstate.material.back.shininess : STATE.MATERIAL.BACK.SHININESS : : -1 : 0
|
||||
#var float4 glstate.light[0].ambient : STATE.LIGHT[0].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[0].diffuse : STATE.LIGHT[0].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[0].specular : STATE.LIGHT[0].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[0].position : STATE.LIGHT[0].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[0].attenuation : STATE.LIGHT[0].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[0].spot.direction : STATE.LIGHT[0].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[0].half : STATE.LIGHT[0].HALF : : -1 : 0
|
||||
#var float4 glstate.light[1].ambient : STATE.LIGHT[1].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[1].diffuse : STATE.LIGHT[1].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[1].specular : STATE.LIGHT[1].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[1].position : STATE.LIGHT[1].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[1].attenuation : STATE.LIGHT[1].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[1].spot.direction : STATE.LIGHT[1].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[1].half : STATE.LIGHT[1].HALF : : -1 : 0
|
||||
#var float4 glstate.light[2].ambient : STATE.LIGHT[2].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[2].diffuse : STATE.LIGHT[2].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[2].specular : STATE.LIGHT[2].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[2].position : STATE.LIGHT[2].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[2].attenuation : STATE.LIGHT[2].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[2].spot.direction : STATE.LIGHT[2].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[2].half : STATE.LIGHT[2].HALF : : -1 : 0
|
||||
#var float4 glstate.light[3].ambient : STATE.LIGHT[3].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[3].diffuse : STATE.LIGHT[3].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[3].specular : STATE.LIGHT[3].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[3].position : STATE.LIGHT[3].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[3].attenuation : STATE.LIGHT[3].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[3].spot.direction : STATE.LIGHT[3].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[3].half : STATE.LIGHT[3].HALF : : -1 : 0
|
||||
#var float4 glstate.light[4].ambient : STATE.LIGHT[4].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[4].diffuse : STATE.LIGHT[4].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[4].specular : STATE.LIGHT[4].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[4].position : STATE.LIGHT[4].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[4].attenuation : STATE.LIGHT[4].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[4].spot.direction : STATE.LIGHT[4].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[4].half : STATE.LIGHT[4].HALF : : -1 : 0
|
||||
#var float4 glstate.light[5].ambient : STATE.LIGHT[5].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[5].diffuse : STATE.LIGHT[5].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[5].specular : STATE.LIGHT[5].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[5].position : STATE.LIGHT[5].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[5].attenuation : STATE.LIGHT[5].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[5].spot.direction : STATE.LIGHT[5].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[5].half : STATE.LIGHT[5].HALF : : -1 : 0
|
||||
#var float4 glstate.light[6].ambient : STATE.LIGHT[6].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[6].diffuse : STATE.LIGHT[6].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[6].specular : STATE.LIGHT[6].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[6].position : STATE.LIGHT[6].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[6].attenuation : STATE.LIGHT[6].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[6].spot.direction : STATE.LIGHT[6].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[6].half : STATE.LIGHT[6].HALF : : -1 : 0
|
||||
#var float4 glstate.light[7].ambient : STATE.LIGHT[7].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.light[7].diffuse : STATE.LIGHT[7].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.light[7].specular : STATE.LIGHT[7].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.light[7].position : STATE.LIGHT[7].POSITION : : -1 : 0
|
||||
#var float4 glstate.light[7].attenuation : STATE.LIGHT[7].ATTENUATION : : -1 : 0
|
||||
#var float4 glstate.light[7].spot.direction : STATE.LIGHT[7].SPOT.DIRECTION : : -1 : 0
|
||||
#var float4 glstate.light[7].half : STATE.LIGHT[7].HALF : : -1 : 0
|
||||
#var float4 glstate.lightmodel.ambient : STATE.LIGHTMODEL.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightmodel.scenecolor : STATE.LIGHTMODEL.SCENECOLOR : : -1 : 0
|
||||
#var float4 glstate.lightmodel.front.scenecolor : STATE.LIGHTMODEL.FRONT.SCENECOLOR : : -1 : 0
|
||||
#var float4 glstate.lightmodel.back.scenecolor : STATE.LIGHTMODEL.BACK.SCENECOLOR : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].ambient : STATE.LIGHTPROD[0].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].diffuse : STATE.LIGHTPROD[0].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].specular : STATE.LIGHTPROD[0].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].front.ambient : STATE.LIGHTPROD[0].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].front.diffuse : STATE.LIGHTPROD[0].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].front.specular : STATE.LIGHTPROD[0].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].back.ambient : STATE.LIGHTPROD[0].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].back.diffuse : STATE.LIGHTPROD[0].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[0].back.specular : STATE.LIGHTPROD[0].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].ambient : STATE.LIGHTPROD[1].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].diffuse : STATE.LIGHTPROD[1].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].specular : STATE.LIGHTPROD[1].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].front.ambient : STATE.LIGHTPROD[1].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].front.diffuse : STATE.LIGHTPROD[1].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].front.specular : STATE.LIGHTPROD[1].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].back.ambient : STATE.LIGHTPROD[1].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].back.diffuse : STATE.LIGHTPROD[1].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[1].back.specular : STATE.LIGHTPROD[1].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].ambient : STATE.LIGHTPROD[2].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].diffuse : STATE.LIGHTPROD[2].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].specular : STATE.LIGHTPROD[2].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].front.ambient : STATE.LIGHTPROD[2].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].front.diffuse : STATE.LIGHTPROD[2].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].front.specular : STATE.LIGHTPROD[2].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].back.ambient : STATE.LIGHTPROD[2].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].back.diffuse : STATE.LIGHTPROD[2].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[2].back.specular : STATE.LIGHTPROD[2].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].ambient : STATE.LIGHTPROD[3].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].diffuse : STATE.LIGHTPROD[3].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].specular : STATE.LIGHTPROD[3].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].front.ambient : STATE.LIGHTPROD[3].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].front.diffuse : STATE.LIGHTPROD[3].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].front.specular : STATE.LIGHTPROD[3].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].back.ambient : STATE.LIGHTPROD[3].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].back.diffuse : STATE.LIGHTPROD[3].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[3].back.specular : STATE.LIGHTPROD[3].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].ambient : STATE.LIGHTPROD[4].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].diffuse : STATE.LIGHTPROD[4].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].specular : STATE.LIGHTPROD[4].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].front.ambient : STATE.LIGHTPROD[4].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].front.diffuse : STATE.LIGHTPROD[4].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].front.specular : STATE.LIGHTPROD[4].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].back.ambient : STATE.LIGHTPROD[4].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].back.diffuse : STATE.LIGHTPROD[4].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[4].back.specular : STATE.LIGHTPROD[4].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].ambient : STATE.LIGHTPROD[5].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].diffuse : STATE.LIGHTPROD[5].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].specular : STATE.LIGHTPROD[5].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].front.ambient : STATE.LIGHTPROD[5].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].front.diffuse : STATE.LIGHTPROD[5].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].front.specular : STATE.LIGHTPROD[5].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].back.ambient : STATE.LIGHTPROD[5].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].back.diffuse : STATE.LIGHTPROD[5].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[5].back.specular : STATE.LIGHTPROD[5].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].ambient : STATE.LIGHTPROD[6].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].diffuse : STATE.LIGHTPROD[6].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].specular : STATE.LIGHTPROD[6].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].front.ambient : STATE.LIGHTPROD[6].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].front.diffuse : STATE.LIGHTPROD[6].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].front.specular : STATE.LIGHTPROD[6].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].back.ambient : STATE.LIGHTPROD[6].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].back.diffuse : STATE.LIGHTPROD[6].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[6].back.specular : STATE.LIGHTPROD[6].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].ambient : STATE.LIGHTPROD[7].AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].diffuse : STATE.LIGHTPROD[7].DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].specular : STATE.LIGHTPROD[7].SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].front.ambient : STATE.LIGHTPROD[7].FRONT.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].front.diffuse : STATE.LIGHTPROD[7].FRONT.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].front.specular : STATE.LIGHTPROD[7].FRONT.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].back.ambient : STATE.LIGHTPROD[7].BACK.AMBIENT : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].back.diffuse : STATE.LIGHTPROD[7].BACK.DIFFUSE : : -1 : 0
|
||||
#var float4 glstate.lightprod[7].back.specular : STATE.LIGHTPROD[7].BACK.SPECULAR : : -1 : 0
|
||||
#var float4 glstate.texgen[0].eye.s : STATE.TEXGEN[0].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[0].eye.t : STATE.TEXGEN[0].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[0].eye.r : STATE.TEXGEN[0].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[0].eye.q : STATE.TEXGEN[0].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[0].object.s : STATE.TEXGEN[0].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[0].object.t : STATE.TEXGEN[0].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[0].object.r : STATE.TEXGEN[0].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[0].object.q : STATE.TEXGEN[0].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[1].eye.s : STATE.TEXGEN[1].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[1].eye.t : STATE.TEXGEN[1].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[1].eye.r : STATE.TEXGEN[1].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[1].eye.q : STATE.TEXGEN[1].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[1].object.s : STATE.TEXGEN[1].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[1].object.t : STATE.TEXGEN[1].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[1].object.r : STATE.TEXGEN[1].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[1].object.q : STATE.TEXGEN[1].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[2].eye.s : STATE.TEXGEN[2].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[2].eye.t : STATE.TEXGEN[2].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[2].eye.r : STATE.TEXGEN[2].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[2].eye.q : STATE.TEXGEN[2].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[2].object.s : STATE.TEXGEN[2].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[2].object.t : STATE.TEXGEN[2].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[2].object.r : STATE.TEXGEN[2].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[2].object.q : STATE.TEXGEN[2].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[3].eye.s : STATE.TEXGEN[3].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[3].eye.t : STATE.TEXGEN[3].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[3].eye.r : STATE.TEXGEN[3].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[3].eye.q : STATE.TEXGEN[3].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[3].object.s : STATE.TEXGEN[3].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[3].object.t : STATE.TEXGEN[3].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[3].object.r : STATE.TEXGEN[3].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[3].object.q : STATE.TEXGEN[3].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[4].eye.s : STATE.TEXGEN[4].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[4].eye.t : STATE.TEXGEN[4].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[4].eye.r : STATE.TEXGEN[4].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[4].eye.q : STATE.TEXGEN[4].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[4].object.s : STATE.TEXGEN[4].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[4].object.t : STATE.TEXGEN[4].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[4].object.r : STATE.TEXGEN[4].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[4].object.q : STATE.TEXGEN[4].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[5].eye.s : STATE.TEXGEN[5].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[5].eye.t : STATE.TEXGEN[5].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[5].eye.r : STATE.TEXGEN[5].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[5].eye.q : STATE.TEXGEN[5].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[5].object.s : STATE.TEXGEN[5].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[5].object.t : STATE.TEXGEN[5].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[5].object.r : STATE.TEXGEN[5].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[5].object.q : STATE.TEXGEN[5].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[6].eye.s : STATE.TEXGEN[6].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[6].eye.t : STATE.TEXGEN[6].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[6].eye.r : STATE.TEXGEN[6].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[6].eye.q : STATE.TEXGEN[6].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[6].object.s : STATE.TEXGEN[6].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[6].object.t : STATE.TEXGEN[6].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[6].object.r : STATE.TEXGEN[6].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[6].object.q : STATE.TEXGEN[6].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[7].eye.s : STATE.TEXGEN[7].EYE.S : : -1 : 0
|
||||
#var float4 glstate.texgen[7].eye.t : STATE.TEXGEN[7].EYE.T : : -1 : 0
|
||||
#var float4 glstate.texgen[7].eye.r : STATE.TEXGEN[7].EYE.R : : -1 : 0
|
||||
#var float4 glstate.texgen[7].eye.q : STATE.TEXGEN[7].EYE.Q : : -1 : 0
|
||||
#var float4 glstate.texgen[7].object.s : STATE.TEXGEN[7].OBJECT.S : : -1 : 0
|
||||
#var float4 glstate.texgen[7].object.t : STATE.TEXGEN[7].OBJECT.T : : -1 : 0
|
||||
#var float4 glstate.texgen[7].object.r : STATE.TEXGEN[7].OBJECT.R : : -1 : 0
|
||||
#var float4 glstate.texgen[7].object.q : STATE.TEXGEN[7].OBJECT.Q : : -1 : 0
|
||||
#var float4 glstate.fog.color : STATE.FOG.COLOR : : -1 : 0
|
||||
#var float4 glstate.fog.params : STATE.FOG.PARAMS : : -1 : 0
|
||||
#var float4 glstate.clip[0].plane : STATE.CLIP[0].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[1].plane : STATE.CLIP[1].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[2].plane : STATE.CLIP[2].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[3].plane : STATE.CLIP[3].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[4].plane : STATE.CLIP[4].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[5].plane : STATE.CLIP[5].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[6].plane : STATE.CLIP[6].PLANE : : -1 : 0
|
||||
#var float4 glstate.clip[7].plane : STATE.CLIP[7].PLANE : : -1 : 0
|
||||
#var float glstate.point.size : STATE.POINT.SIZE : : -1 : 0
|
||||
#var float glstate.point.attenuation : STATE.POINT.ATTENUATION : : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[0] : STATE.MATRIX.MODELVIEW[0] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[1] : STATE.MATRIX.MODELVIEW[1] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[2] : STATE.MATRIX.MODELVIEW[2] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[3] : STATE.MATRIX.MODELVIEW[3] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[4] : STATE.MATRIX.MODELVIEW[4] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[5] : STATE.MATRIX.MODELVIEW[5] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[6] : STATE.MATRIX.MODELVIEW[6] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.modelview[7] : STATE.MATRIX.MODELVIEW[7] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.projection : STATE.MATRIX.PROJECTION : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.mvp : STATE.MATRIX.MVP : c[0], 4 : -1 : 1
|
||||
#var float4x4 glstate.matrix.texture[0] : STATE.MATRIX.TEXTURE[0] : c[4], 4 : -1 : 1
|
||||
#var float4x4 glstate.matrix.texture[1] : STATE.MATRIX.TEXTURE[1] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.texture[2] : STATE.MATRIX.TEXTURE[2] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.texture[3] : STATE.MATRIX.TEXTURE[3] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.texture[4] : STATE.MATRIX.TEXTURE[4] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.texture[5] : STATE.MATRIX.TEXTURE[5] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.texture[6] : STATE.MATRIX.TEXTURE[6] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.texture[7] : STATE.MATRIX.TEXTURE[7] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[0] : STATE.MATRIX.PALETTE[0] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[1] : STATE.MATRIX.PALETTE[1] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[2] : STATE.MATRIX.PALETTE[2] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[3] : STATE.MATRIX.PALETTE[3] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[4] : STATE.MATRIX.PALETTE[4] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[5] : STATE.MATRIX.PALETTE[5] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[6] : STATE.MATRIX.PALETTE[6] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.palette[7] : STATE.MATRIX.PALETTE[7] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[0] : STATE.MATRIX.PROGRAM[0] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[1] : STATE.MATRIX.PROGRAM[1] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[2] : STATE.MATRIX.PROGRAM[2] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[3] : STATE.MATRIX.PROGRAM[3] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[4] : STATE.MATRIX.PROGRAM[4] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[5] : STATE.MATRIX.PROGRAM[5] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[6] : STATE.MATRIX.PROGRAM[6] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.program[7] : STATE.MATRIX.PROGRAM[7] : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[0] : STATE.MATRIX.MODELVIEW[0].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[1] : STATE.MATRIX.MODELVIEW[1].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[2] : STATE.MATRIX.MODELVIEW[2].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[3] : STATE.MATRIX.MODELVIEW[3].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[4] : STATE.MATRIX.MODELVIEW[4].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[5] : STATE.MATRIX.MODELVIEW[5].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[6] : STATE.MATRIX.MODELVIEW[6].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.modelview[7] : STATE.MATRIX.MODELVIEW[7].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.projection : STATE.MATRIX.PROJECTION.INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.mvp : STATE.MATRIX.MVP.INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[0] : STATE.MATRIX.TEXTURE[0].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[1] : STATE.MATRIX.TEXTURE[1].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[2] : STATE.MATRIX.TEXTURE[2].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[3] : STATE.MATRIX.TEXTURE[3].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[4] : STATE.MATRIX.TEXTURE[4].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[5] : STATE.MATRIX.TEXTURE[5].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[6] : STATE.MATRIX.TEXTURE[6].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.texture[7] : STATE.MATRIX.TEXTURE[7].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[0] : STATE.MATRIX.PALETTE[0].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[1] : STATE.MATRIX.PALETTE[1].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[2] : STATE.MATRIX.PALETTE[2].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[3] : STATE.MATRIX.PALETTE[3].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[4] : STATE.MATRIX.PALETTE[4].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[5] : STATE.MATRIX.PALETTE[5].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[6] : STATE.MATRIX.PALETTE[6].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.palette[7] : STATE.MATRIX.PALETTE[7].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[0] : STATE.MATRIX.PROGRAM[0].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[1] : STATE.MATRIX.PROGRAM[1].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[2] : STATE.MATRIX.PROGRAM[2].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[3] : STATE.MATRIX.PROGRAM[3].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[4] : STATE.MATRIX.PROGRAM[4].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[5] : STATE.MATRIX.PROGRAM[5].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[6] : STATE.MATRIX.PROGRAM[6].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.inverse.program[7] : STATE.MATRIX.PROGRAM[7].INVERSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[0] : STATE.MATRIX.MODELVIEW[0].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[1] : STATE.MATRIX.MODELVIEW[1].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[2] : STATE.MATRIX.MODELVIEW[2].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[3] : STATE.MATRIX.MODELVIEW[3].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[4] : STATE.MATRIX.MODELVIEW[4].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[5] : STATE.MATRIX.MODELVIEW[5].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[6] : STATE.MATRIX.MODELVIEW[6].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.modelview[7] : STATE.MATRIX.MODELVIEW[7].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.projection : STATE.MATRIX.PROJECTION.TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.mvp : STATE.MATRIX.MVP.TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[0] : STATE.MATRIX.TEXTURE[0].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[1] : STATE.MATRIX.TEXTURE[1].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[2] : STATE.MATRIX.TEXTURE[2].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[3] : STATE.MATRIX.TEXTURE[3].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[4] : STATE.MATRIX.TEXTURE[4].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[5] : STATE.MATRIX.TEXTURE[5].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[6] : STATE.MATRIX.TEXTURE[6].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.texture[7] : STATE.MATRIX.TEXTURE[7].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[0] : STATE.MATRIX.PALETTE[0].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[1] : STATE.MATRIX.PALETTE[1].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[2] : STATE.MATRIX.PALETTE[2].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[3] : STATE.MATRIX.PALETTE[3].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[4] : STATE.MATRIX.PALETTE[4].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[5] : STATE.MATRIX.PALETTE[5].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[6] : STATE.MATRIX.PALETTE[6].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.palette[7] : STATE.MATRIX.PALETTE[7].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[0] : STATE.MATRIX.PROGRAM[0].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[1] : STATE.MATRIX.PROGRAM[1].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[2] : STATE.MATRIX.PROGRAM[2].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[3] : STATE.MATRIX.PROGRAM[3].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[4] : STATE.MATRIX.PROGRAM[4].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[5] : STATE.MATRIX.PROGRAM[5].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[6] : STATE.MATRIX.PROGRAM[6].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.transpose.program[7] : STATE.MATRIX.PROGRAM[7].TRANSPOSE : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[0] : STATE.MATRIX.MODELVIEW[0].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[1] : STATE.MATRIX.MODELVIEW[1].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[2] : STATE.MATRIX.MODELVIEW[2].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[3] : STATE.MATRIX.MODELVIEW[3].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[4] : STATE.MATRIX.MODELVIEW[4].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[5] : STATE.MATRIX.MODELVIEW[5].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[6] : STATE.MATRIX.MODELVIEW[6].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.modelview[7] : STATE.MATRIX.MODELVIEW[7].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.projection : STATE.MATRIX.PROJECTION.INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.mvp : STATE.MATRIX.MVP.INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[0] : STATE.MATRIX.TEXTURE[0].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[1] : STATE.MATRIX.TEXTURE[1].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[2] : STATE.MATRIX.TEXTURE[2].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[3] : STATE.MATRIX.TEXTURE[3].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[4] : STATE.MATRIX.TEXTURE[4].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[5] : STATE.MATRIX.TEXTURE[5].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[6] : STATE.MATRIX.TEXTURE[6].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.texture[7] : STATE.MATRIX.TEXTURE[7].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[0] : STATE.MATRIX.PALETTE[0].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[1] : STATE.MATRIX.PALETTE[1].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[2] : STATE.MATRIX.PALETTE[2].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[3] : STATE.MATRIX.PALETTE[3].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[4] : STATE.MATRIX.PALETTE[4].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[5] : STATE.MATRIX.PALETTE[5].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[6] : STATE.MATRIX.PALETTE[6].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.palette[7] : STATE.MATRIX.PALETTE[7].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[0] : STATE.MATRIX.PROGRAM[0].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[1] : STATE.MATRIX.PROGRAM[1].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[2] : STATE.MATRIX.PROGRAM[2].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[3] : STATE.MATRIX.PROGRAM[3].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[4] : STATE.MATRIX.PROGRAM[4].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[5] : STATE.MATRIX.PROGRAM[5].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[6] : STATE.MATRIX.PROGRAM[6].INVTRANS : , 4 : -1 : 0
|
||||
#var float4x4 glstate.matrix.invtrans.program[7] : STATE.MATRIX.PROGRAM[7].INVTRANS : , 4 : -1 : 0
|
||||
#var float4 IN.position : $vin.ATTR0 : ATTR0 : 0 : 1
|
||||
#var float4 IN.texcoord0 : $vin.ATTR8 : ATTR8 : 0 : 1
|
||||
#var float4 main.position : $vout.HPOS : HPOS : -1 : 1
|
||||
#var float4 main.tex0 : $vout.TEX0 : TEX0 : -1 : 1
|
||||
PARAM c[8] = { state.matrix.mvp,
|
||||
state.matrix.texture[0] };
|
||||
DP4 result.position.w, vertex.attrib[0], c[3];
|
||||
DP4 result.position.z, vertex.attrib[0], c[2];
|
||||
DP4 result.position.y, vertex.attrib[0], c[1];
|
||||
DP4 result.position.x, vertex.attrib[0], c[0];
|
||||
DP4 result.texcoord[0].w, vertex.attrib[8], c[7];
|
||||
DP4 result.texcoord[0].z, vertex.attrib[8], c[6];
|
||||
DP4 result.texcoord[0].y, vertex.attrib[8], c[5];
|
||||
DP4 result.texcoord[0].x, vertex.attrib[8], c[4];
|
||||
END
|
||||
# 8 instructions, 0 R-regs
|
||||
@@ -1,35 +0,0 @@
|
||||
/// ============================================================================
|
||||
/*
|
||||
Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
|
||||
Please see the file "CONTRIBUTORS" for a list of contributors
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/// ============================================================================
|
||||
|
||||
attribute vec4 attr_TexCoord0;
|
||||
|
||||
void main()
|
||||
{
|
||||
// transform vertex position into homogenous clip-space
|
||||
gl_Position = ftransform();
|
||||
|
||||
// transform texcoords
|
||||
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
|
||||
|
||||
// assign color
|
||||
gl_FrontColor = gl_Color;
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
|
||||
<!-- generated by Radiant setup, modify at your own risks -->
|
||||
<links>
|
||||
<item name="Web Links & Misc" url="links.htm"/>
|
||||
<item name="GtkRadiant Bugzilla - Report Bug" url="http://zerowing.idsoftware.com/bugzilla/index.cgi"/>
|
||||
<item name="q3map2 handbook (web)" url="http://shaderlab.com/q3map2/manual/default.htm"/>
|
||||
<item name="ETB documentation (web)" url="http://www.map-craft.com/modules.php?name=ETB"/>
|
||||
<item name="ChangeLog" url="changelog.txt"/>
|
||||
<item name="Q3Map2 ChangeLog" url="changelog.q3map2.txt"/>
|
||||
<item name="Credits" url="credits.html"/>
|
||||
</links>
|
||||
|
Before Width: | Height: | Size: 320 B |
|
Before Width: | Height: | Size: 316 B |
|
Before Width: | Height: | Size: 312 B |
|
Before Width: | Height: | Size: 312 B |
|
Before Width: | Height: | Size: 320 B |
|
Before Width: | Height: | Size: 312 B |
|
Before Width: | Height: | Size: 324 B |
|
Before Width: | Height: | Size: 356 B |
|
Before Width: | Height: | Size: 332 B |