aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/driver_8h-source.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/driver_8h-source.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/driver_8h-source.html')
-rw-r--r--docs/doxygen/nel/driver_8h-source.html557
1 files changed, 557 insertions, 0 deletions
diff --git a/docs/doxygen/nel/driver_8h-source.html b/docs/doxygen/nel/driver_8h-source.html
new file mode 100644
index 00000000..bb692be3
--- /dev/null
+++ b/docs/doxygen/nel/driver_8h-source.html
@@ -0,0 +1,557 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+ <TITLE>nevrax.org : docs</TITLE>
+ <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css">
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY MARGINHEIGHT="0" MARGINWIDTH="0">
+
+<!-- uplinks -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ </TR>
+</TABLE>
+
+<!-- banner Nevrax -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%>
+ <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR>
+</TABLE>
+
+<!-- main table -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+ <!------ Begin Box ------>
+ <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black>
+ <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF>
+ <TABLE cellspacing=0 cellpadding=1 border=0>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr>
+ </TABLE>
+ </TD></TR></TABLE></TD></TR></TABLE>
+ <!------ End Box ------>
+
+ </TD>
+ <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+<!-- title -->
+<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td>
+<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A>
+</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT="">
+</td></tr></table>
+&nbsp;
+
+<!-- block -->
+<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD>
+ <TD><B>Documentation</B></TD>
+ <TD ALIGN=RIGHT>&nbsp;</td>
+</tr></table>
+<!-- Generated by Doxygen 1.2.14 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> &nbsp; </center>
+<hr><h1>driver.h</h1><a href="driver_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
+00008 <font class="comment">/* Copyright, 2000 Nevrax Ltd.</font>
+00009 <font class="comment"> *</font>
+00010 <font class="comment"> * This file is part of NEVRAX NEL.</font>
+00011 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font>
+00012 <font class="comment"> * it under the terms of the GNU General Public License as published by</font>
+00013 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font>
+00014 <font class="comment"> * any later version.</font>
+00015 <font class="comment"></font>
+00016 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font>
+00017 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font>
+00018 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font>
+00019 <font class="comment"> * General Public License for more details.</font>
+00020 <font class="comment"></font>
+00021 <font class="comment"> * You should have received a copy of the GNU General Public License</font>
+00022 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font>
+00023 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font>
+00024 <font class="comment"> * MA 02111-1307, USA.</font>
+00025 <font class="comment"> */</font>
+00026
+00027 <font class="preprocessor">#ifndef NL_DRV_H</font>
+00028 <font class="preprocessor"></font><font class="preprocessor">#define NL_DRV_H</font>
+00029 <font class="preprocessor"></font>
+00030 <font class="preprocessor">#include "<a class="code" href="types__nl_8h.html">nel/misc/types_nl.h</a>"</font>
+00031 <font class="preprocessor">#include "<a class="code" href="common_8h.html">nel/misc/common.h</a>"</font>
+00032 <font class="preprocessor">#include "<a class="code" href="smart__ptr_8h.html">nel/misc/smart_ptr.h</a>"</font>
+00033 <font class="preprocessor">#include "<a class="code" href="rgba_8h.html">nel/misc/rgba.h</a>"</font>
+00034 <font class="preprocessor">#include "<a class="code" href="matrix_8h.html">nel/misc/matrix.h</a>"</font>
+00035 <font class="preprocessor">#include "<a class="code" href="stream_8h.html">nel/misc/stream.h</a>"</font>
+00036 <font class="preprocessor">#include "<a class="code" href="uv_8h.html">nel/misc/uv.h</a>"</font>
+00037 <font class="preprocessor">#include "<a class="code" href="texture_8h.html">3d/texture.h</a>"</font>
+00038 <font class="preprocessor">#include "<a class="code" href="shader_8h.html">3d/shader.h</a>"</font>
+00039 <font class="preprocessor">#include "<a class="code" href="vertex__buffer_8h.html">3d/vertex_buffer.h</a>"</font>
+00040 <font class="preprocessor">#include "<a class="code" href="vertex__buffer__hard_8h.html">3d/vertex_buffer_hard.h</a>"</font>
+00041 <font class="preprocessor">#include "<a class="code" href="vertex__program_8h.html">3d/vertex_program.h</a>"</font>
+00042 <font class="preprocessor">#include "<a class="code" href="material_8h.html">3d/material.h</a>"</font>
+00043 <font class="preprocessor">#include "<a class="code" href="mutex_8h.html">nel/misc/mutex.h</a>"</font>
+00044 <font class="preprocessor">#include "<a class="code" href="primitive__profile_8h.html">nel/3d/primitive_profile.h</a>"</font>
+00045
+00046 <font class="preprocessor">#include &lt;vector&gt;</font>
+00047 <font class="preprocessor">#include &lt;list&gt;</font>
+00048
+00049 <font class="keyword">namespace </font>NLMISC
+00050 {
+00051 <font class="keyword">class </font>IEventEmitter;
+00052 <font class="keyword">struct </font>IMouseDevice;
+00053 <font class="keyword">struct </font>IKeyboardDevice;
+00054 <font class="keyword">struct </font>IInputDeviceManager;
+00055 <font class="keyword">class </font>CRect;
+00056 };
+00057
+00058 <font class="keyword">namespace </font>NL3D
+00059 {
+00060
+00061 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CRefPtr.html">NLMISC::CRefPtr</a>;
+00062 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CRefCount.html">NLMISC::CRefCount</a>;
+00063 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CSmartPtr.html">NLMISC::CSmartPtr</a>;
+00064 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CRGBA.html">NLMISC::CRGBA</a>;
+00065 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a>;
+00066 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a>;
+00067 <font class="keyword">using</font> NLMISC::CSynchronized;
+00068
+00069
+00070 <font class="keyword">class </font>CMaterial;
+00071 <font class="keyword">class </font>CPrimitiveBlock;
+00072 <font class="keyword">class </font>CLight;
+00073 <font class="keyword">class </font>CScissor;
+00074 <font class="keyword">class </font>CViewport;
+00075 <font class="keyword">struct </font>CMonitorColorProperties;
+00076
+00077
+00078
+00079 <font class="comment">//****************************************************************************</font>
+<a name="l00081"></a><a class="code" href="classNL3D_1_1GfxMode.html">00081</a> <font class="comment">class GfxMode </font>
+00082 {
+00083 <font class="keyword">public</font>:
+<a name="l00084"></a><a class="code" href="classNL3D_1_1GfxMode.html#m0">00084</a> <font class="keywordtype">bool</font> OffScreen;
+<a name="l00085"></a><a class="code" href="classNL3D_1_1GfxMode.html#m1">00085</a> <font class="keywordtype">bool</font> Windowed;
+<a name="l00086"></a><a class="code" href="classNL3D_1_1GfxMode.html#m2">00086</a> uint16 Width;
+<a name="l00087"></a><a class="code" href="classNL3D_1_1GfxMode.html#m3">00087</a> uint16 Height;
+<a name="l00088"></a><a class="code" href="classNL3D_1_1GfxMode.html#m4">00088</a> uint8 Depth;
+00089
+<a name="l00090"></a><a class="code" href="classNL3D_1_1GfxMode.html#a0">00090</a> GfxMode(<font class="keywordtype">void</font>)
+00091 {
+00092 OffScreen=<font class="keyword">false</font>;
+00093 Windowed=<font class="keyword">false</font>;
+00094 Width=0;
+00095 Height=0;
+00096 Depth=0;
+00097 }
+00098 GfxMode(uint16 <a class="code" href="driver__opengl__extension__def_8h.html#a367">w</a>, uint16 h, uint8 d, <font class="keywordtype">bool</font> windowed= <font class="keyword">true</font>, <font class="keywordtype">bool</font> offscreen=<font class="keyword">false</font>);
+00099 };
+00100
+00101 <font class="keyword">typedef</font> std::vector&lt;GfxMode&gt; <a class="code" href="namespaceNL3D.html#a28">ModeList</a>;
+00102
+00103
+00104 <font class="comment">//****************************************************************************</font>
+00105 <font class="comment">// Exceptions.</font>
+<a name="l00106"></a><a class="code" href="structNL3D_1_1EBadDisplay.html">00106</a> <font class="keyword">struct </font>EBadDisplay : <font class="keyword">public</font> NLMISC::Exception
+00107 {
+<a name="l00108"></a><a class="code" href="structNL3D_1_1EBadDisplay.html#a0">00108</a> <a class="code" href="structNL3D_1_1EBadDisplay.html#a0">EBadDisplay</a>(<font class="keyword">const</font> std::string &amp;reason) : <a class="code" href="classNLMISC_1_1Exception.html#a0">Exception</a>(reason) { }
+00109 };
+00110
+00111 <font class="comment">//****************************************************************************</font>
+00112 <font class="keyword">typedef</font> <a class="code" href="driver__opengl__extension__def_8h.html#a424">void</a> (*<a class="code" href="namespaceNL3D.html#a29">emptyProc</a>)(void);
+00113
+00114 <font class="comment">//****************************************************************************</font>
+00115 <font class="comment">// *** IMPORTANT ********************</font>
+00116 <font class="comment">// *** IF YOU MODIFY THE STRUCTURE OF THIS CLASS, PLEASE INCREMENT IDriver::InterfaceVersion TO INVALIDATE OLD DRIVER DLL</font>
+00117 <font class="comment">// **********************************</font>
+00118 <font class="comment">// </font>
+00119 <font class="comment">// * Driver implementation notes:</font>
+00120 <font class="comment">// *</font>
+00121 <font class="comment">// * Driver implementation must save monitor color parameters at initialization and restaure it at release.</font>
+<a name="l00122"></a><a class="code" href="classNL3D_1_1IDriver.html">00122</a> <font class="keyword">class </font>IDriver : <font class="keyword">public</font> NLMISC::CRefCount
+00123 {
+00124 <font class="keyword">public</font>:
+00126 <font class="keyword">static</font> <font class="keyword">const</font> uint32 <a class="code" href="classNL3D_1_1IDriver.html#p0">InterfaceVersion</a>;
+00127
+00128 <font class="keyword">public</font>:
+<a name="l00129"></a><a class="code" href="classNL3D_1_1IDriver.html#s41">00129</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1IDriver.html#s41">TMessageBoxId</a> { <a class="code" href="classNL3D_1_1IDriver.html#s41s0">okId</a>=0, <a class="code" href="classNL3D_1_1IDriver.html#s41s1">yesId</a>, <a class="code" href="classNL3D_1_1IDriver.html#s41s2">noId</a>, <a class="code" href="classNL3D_1_1IDriver.html#s41s3">abortId</a>, <a class="code" href="classNL3D_1_1IDriver.html#s41s4">retryId</a>, <a class="code" href="classNL3D_1_1IDriver.html#s41s5">cancelId</a>, <a class="code" href="classNL3D_1_1IDriver.html#s41s6">ignoreId</a>, <a class="code" href="classNL3D_1_1IDriver.html#s41s7">idCount</a> };
+<a name="l00130"></a><a class="code" href="classNL3D_1_1IDriver.html#s42">00130</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1IDriver.html#s42">TMessageBoxType</a> { <a class="code" href="classNL3D_1_1IDriver.html#s42s8">okType</a>=0, <a class="code" href="classNL3D_1_1IDriver.html#s42s9">okCancelType</a>, <a class="code" href="classNL3D_1_1IDriver.html#s42s10">yesNoType</a>, <a class="code" href="classNL3D_1_1IDriver.html#s42s11">abortRetryIgnoreType</a>, <a class="code" href="classNL3D_1_1IDriver.html#s42s12">yesNoCancelType</a>, <a class="code" href="classNL3D_1_1IDriver.html#s42s13">retryCancelType</a>, <a class="code" href="classNL3D_1_1IDriver.html#s42s14">typeCount</a> };
+<a name="l00131"></a><a class="code" href="classNL3D_1_1IDriver.html#s43">00131</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1IDriver.html#s43">TMessageBoxIcon</a> { <a class="code" href="classNL3D_1_1IDriver.html#s43s15">noIcon</a>=0, <a class="code" href="classNL3D_1_1IDriver.html#s43s16">handIcon</a>, <a class="code" href="classNL3D_1_1IDriver.html#s43s17">questionIcon</a>, <a class="code" href="classNL3D_1_1IDriver.html#s43s18">exclamationIcon</a>, <a class="code" href="classNL3D_1_1IDriver.html#s43s19">asteriskIcon</a>, <a class="code" href="classNL3D_1_1IDriver.html#s43s20">warningIcon</a>, <a class="code" href="classNL3D_1_1IDriver.html#s43s21">errorIcon</a>, <a class="code" href="classNL3D_1_1IDriver.html#s43s22">informationIcon</a>, <a class="code" href="classNL3D_1_1IDriver.html#s43s23">stopIcon</a>, <a class="code" href="classNL3D_1_1IDriver.html#s43s24">iconCount</a> };
+00132
+<a name="l00138"></a><a class="code" href="classNL3D_1_1IDriver.html#s44">00138</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1IDriver.html#s44">TPolygonMode</a> { <a class="code" href="classNL3D_1_1IDriver.html#s44s25">Filled</a>=0, <a class="code" href="classNL3D_1_1IDriver.html#s44s26">Line</a>, <a class="code" href="classNL3D_1_1IDriver.html#s44s27">Point</a> };
+00139
+00140
+<a name="l00146"></a><a class="code" href="classNL3D_1_1IDriver.html#s45">00146</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1IDriver.html#s45">TMatrixCount</a> { <a class="code" href="classNL3D_1_1IDriver.html#s45s28">MaxModelMatrix</a>= 16 };
+00147
+00148
+<a name="l00153"></a><a class="code" href="classNL3D_1_1IDriver.html#s46">00153</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1IDriver.html#s46">TVBHardType</a> { <a class="code" href="classNL3D_1_1IDriver.html#s46s29">VBHardAGP</a>=0, <a class="code" href="classNL3D_1_1IDriver.html#s46s30">VBHardVRAM</a>, <a class="code" href="classNL3D_1_1IDriver.html#s46s31">CountVBHard</a> };
+00154
+00155
+00156 <font class="keyword">protected</font>:
+00157
+<a name="l00158"></a><a class="code" href="classNL3D_1_1IDriver.html#n0">00158</a> CSynchronized&lt;TTexDrvInfoPtrMap&gt; <a class="code" href="classNL3D_1_1IDriver.html#n0">_SyncTexDrvInfos</a>;
+00159
+<a name="l00160"></a><a class="code" href="classNL3D_1_1IDriver.html#n1">00160</a> <a class="code" href="classstd_1_1list.html">TTexDrvSharePtrList</a> <a class="code" href="classNL3D_1_1IDriver.html#n1">_TexDrvShares</a>;
+<a name="l00161"></a><a class="code" href="classNL3D_1_1IDriver.html#n2">00161</a> <a class="code" href="classstd_1_1list.html">TShaderPtrList</a> <a class="code" href="classNL3D_1_1IDriver.html#n2">_Shaders</a>;
+<a name="l00162"></a><a class="code" href="classNL3D_1_1IDriver.html#n3">00162</a> <a class="code" href="classstd_1_1list.html">TVBDrvInfoPtrList</a> <a class="code" href="classNL3D_1_1IDriver.html#n3">_VBDrvInfos</a>;
+<a name="l00163"></a><a class="code" href="classNL3D_1_1IDriver.html#n4">00163</a> <a class="code" href="classNL3D_1_1IDriver.html#s44">TPolygonMode</a> <a class="code" href="classNL3D_1_1IDriver.html#n4">_PolygonMode</a>;
+<a name="l00164"></a><a class="code" href="classNL3D_1_1IDriver.html#n5">00164</a> <a class="code" href="classstd_1_1list.html">TVtxPrgDrvInfoPtrList</a> <a class="code" href="classNL3D_1_1IDriver.html#n5">_VtxPrgDrvInfos</a>;
+00165
+00166 <font class="keyword">public</font>:
+00167 <a class="code" href="classNL3D_1_1IDriver.html#a0">IDriver</a>(<font class="keywordtype">void</font>);
+00168 <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1IDriver.html#a1">~IDriver</a>(<font class="keywordtype">void</font>);
+00169
+00170 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a2">init</a>(<font class="keywordtype">void</font>)=0;
+00171
+00172 <font class="keyword">virtual</font> <a class="code" href="namespaceNL3D.html#a28">ModeList</a> <a class="code" href="classNL3D_1_1IDriver.html#a3">enumModes</a>()=0;
+00173
+00175
+00178 <font class="comment">// @{</font>
+00179 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z427_0">disableHardwareVertexProgram</a>()=0;
+00180 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z427_1">disableHardwareVertexArrayAGP</a>()=0;
+00181 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z427_2">disableHardwareTextureShader</a>()=0;
+00182 <font class="comment">// @}</font>
+00183
+00184 <font class="comment">// first param is the associated window. </font>
+00185 <font class="comment">// Must be a HWND for Windows (WIN32).</font>
+00186 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a4">setDisplay</a>(<font class="keywordtype">void</font>* wnd, <font class="keyword">const</font> GfxMode&amp; mode) <font class="keywordflow">throw</font>(EBadDisplay)=0;
+00187
+00188 <font class="comment">// Return is the associated window information. (Implementation dependant)</font>
+00189 <font class="comment">// Must be a HWND for Windows (WIN32).</font>
+00190 <font class="keyword">virtual</font> <font class="keywordtype">void</font> *<a class="code" href="classNL3D_1_1IDriver.html#a5">getDisplay</a>() =0;
+00191
+00197 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a6">setMonitorColorProperties</a> (<font class="keyword">const</font> CMonitorColorProperties &amp;properties) = 0;
+00198
+00199 <font class="comment">// Return is the associated default window proc for the driver. (Implementation dependant)</font>
+00200 <font class="comment">// Must be a void GlWndProc(IDriver *driver, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) for Windows (WIN32).</font>
+00201 <font class="keyword">virtual</font> <a class="code" href="namespaceNL3D.html#a29">emptyProc</a> <a class="code" href="classNL3D_1_1IDriver.html#a7">getWindowProc</a>() =0;
+00202
+00204 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a8">activate</a>(<font class="keywordtype">void</font>)=0;
+00205
+00207 <font class="keyword">virtual</font> sint <a class="code" href="classNL3D_1_1IDriver.html#a9">getNbTextureStages</a>() <font class="keyword">const</font> =0;
+00208
+00210 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a10">isTextureExist</a>(<font class="keyword">const</font> ITexture&amp;tex)=0;
+00211
+00212 <font class="keyword">virtual</font> <a class="code" href="classNLMISC_1_1IEventEmitter.html">NLMISC::IEventEmitter</a>* <a class="code" href="classNL3D_1_1IDriver.html#a11">getEventEmitter</a>(<font class="keywordtype">void</font>)=0;
+00213
+00214 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a12">clear2D</a>(CRGBA rgba)=0;
+00215
+00216 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a13">clearZBuffer</a>(<font class="keywordtype">float</font> zval=1)=0;
+00217
+00219 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a14">setColorMask</a> (<font class="keywordtype">bool</font> bRed, <font class="keywordtype">bool</font> bGreen, <font class="keywordtype">bool</font> bBlue, <font class="keywordtype">bool</font> bAlpha)=0;
+00220
+00223 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a15">setupTexture</a>(ITexture&amp; tex)=0;
+00224
+00236 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a16">setupTextureEx</a> (ITexture&amp; tex, <font class="keywordtype">bool</font> bUpload, <font class="keywordtype">bool</font>&amp; bAllUploaded,
+00237 <font class="keywordtype">bool</font> bMustRecreateSharedTexture= <font class="keyword">false</font>)=0;
+00238
+00242 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a17">uploadTexture</a> (ITexture&amp; tex, <a class="code" href="classNLMISC_1_1CRect.html">NLMISC::CRect</a>&amp; rect, uint8 nNumMipMap)=0;
+00243 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a18">uploadTextureCube</a> (ITexture&amp; tex, <a class="code" href="classNLMISC_1_1CRect.html">NLMISC::CRect</a>&amp; rect, uint8 nNumMipMap, uint8 nNumFace)=0;
+00244
+00248 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a19">invalidateShareTexture</a> (ITexture &amp;);
+00249
+00253 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#d0">getTextureShareName</a> (<font class="keyword">const</font> ITexture&amp; tex, std::string &amp;output);
+00254
+00259 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a20">forceDXTCCompression</a>(<font class="keywordtype">bool</font> dxtcComp)=0;
+00260
+00266 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a21">forceTextureResize</a>(uint divisor)=0;
+00267
+00268
+00269 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a22">setupMaterial</a>(CMaterial&amp; mat)=0;
+00270
+00271 <font class="comment">// Setup the camera mode as a perspective/ortho camera. NB: znear and zfar must be &gt;0 (if perspective).</font>
+00272 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a23">setFrustum</a>(<font class="keywordtype">float</font> left, <font class="keywordtype">float</font> right, <font class="keywordtype">float</font> bottom, <font class="keywordtype">float</font> top, <font class="keywordtype">float</font> znear, <font class="keywordtype">float</font> zfar, <font class="keywordtype">bool</font> perspective=<font class="keyword">true</font>)=0;
+00273
+00278 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a24">setupViewMatrix</a>(<font class="keyword">const</font> CMatrix&amp; mtx)=0;
+00279
+00292 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a25">setupViewMatrixEx</a>(<font class="keyword">const</font> CMatrix&amp; mtx, <font class="keyword">const</font> CVector &amp;cameraPos)=0;
+00293
+00298 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a26">setupModelMatrix</a>(<font class="keyword">const</font> CMatrix&amp; mtx)=0;
+00299
+00306 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a27">multiplyModelMatrix</a>(<font class="keyword">const</font> CMatrix&amp; mtx)=0;
+00307
+00308
+00309 <font class="keyword">virtual</font> CMatrix <a class="code" href="classNL3D_1_1IDriver.html#a28">getViewMatrix</a>(<font class="keywordtype">void</font>)<font class="keyword">const</font>=0;
+00310
+00311
+00316 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a29">forceNormalize</a>(<font class="keywordtype">bool</font> normalize)=0;
+00317
+00318
+00321 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a30">isForceNormalize</a>() <font class="keyword">const</font> =0;
+00322
+00323
+00324
+00327 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a31">supportVertexBufferHard</a>() <font class="keyword">const</font> =0;
+00328
+00329
+00332 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a32">slowUnlockVertexBufferHard</a>() <font class="keyword">const</font> =0;
+00333
+00334
+00337 <font class="keyword">virtual</font> uint <a class="code" href="classNL3D_1_1IDriver.html#a33">getMaxVerticesByVertexBufferHard</a>() <font class="keyword">const</font> =0;
+00338
+00339
+00349 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a34">initVertexArrayRange</a>(uint agpMem, uint vramMem=0) =0;
+00350
+00351
+00367 <font class="keyword">virtual</font> IVertexBufferHard *<a class="code" href="classNL3D_1_1IDriver.html#a35">createVertexBufferHard</a>(uint16 vertexFormat, <font class="keyword">const</font> uint8 *typeArray, uint32 numVertices,
+00368 <a class="code" href="classNL3D_1_1IDriver.html#s46">TVBHardType</a> vbType) =0;
+00369
+00370
+00373 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a36">deleteVertexBufferHard</a>(IVertexBufferHard *VB) =0;
+00374
+00375
+00382 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a37">activeVertexBufferHard</a>(IVertexBufferHard *VB)=0;
+00383
+00384
+00385
+00393 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a38">activeVertexBuffer</a>(CVertexBuffer&amp; VB)=0;
+00394
+00395
+00409 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a38">activeVertexBuffer</a>(CVertexBuffer&amp; VB, uint first, uint end)=0;
+00410
+00411
+00423 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a40">mapTextureStageToUV</a>(uint stage, uint uv)=0;
+00424
+00425
+00428 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a41">render</a>(CPrimitiveBlock&amp; PB, CMaterial&amp; Mat)=0;
+00429
+00433 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a42">renderTriangles</a>(CMaterial&amp; Mat, uint32 *tri, uint32 ntris)=0;
+00434
+00435
+00443 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a43">renderSimpleTriangles</a>(uint32 *tri, uint32 ntris)=0;
+00444
+00445
+00448 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a44">renderPoints</a>(CMaterial&amp; Mat, uint32 numPoints)=0;
+00449
+00453 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a45">renderQuads</a>(CMaterial&amp; Mat, uint32 startIndex, uint32 numQuads)=0;
+00454
+00455
+00456
+00458 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a46">swapBuffers</a>(<font class="keywordtype">void</font>)=0;
+00459
+00460
+00462 <font class="comment">// @{</font>
+00463
+00464
+00470 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z428_0">profileRenderedPrimitives</a>(CPrimitiveProfile &amp;pIn, CPrimitiveProfile &amp;pOut) =0;
+00471
+00472
+00476 <font class="keyword">virtual</font> uint32 <a class="code" href="classNL3D_1_1IDriver.html#z428_1">profileAllocatedTextureMemory</a>() =0;
+00477
+00478
+00481 <font class="keyword">virtual</font> uint32 <a class="code" href="classNL3D_1_1IDriver.html#z428_2">profileSetupedMaterials</a>() <font class="keyword">const</font> =0;
+00482
+00483
+00486 <font class="keyword">virtual</font> uint32 <a class="code" href="classNL3D_1_1IDriver.html#z428_3">profileSetupedModelMatrix</a>() <font class="keyword">const</font> =0;
+00487
+00488
+00491 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z428_4">enableUsedTextureMemorySum</a> (<font class="keywordtype">bool</font> enable=<font class="keyword">true</font>) =0;
+00492
+00493
+00497 <font class="keyword">virtual</font> uint32 <a class="code" href="classNL3D_1_1IDriver.html#z428_5">getUsedTextureMemory</a>() <font class="keyword">const</font> =0;
+00498
+00499 <font class="comment">// @}</font>
+00500
+00501
+00503 <font class="comment">// @{</font>
+00504 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#z429_0">fogEnabled</a>()=0;
+00505 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z429_1">enableFog</a>(<font class="keywordtype">bool</font> enable)=0;
+00507 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z429_2">setupFog</a>(<font class="keywordtype">float</font> start, <font class="keywordtype">float</font> end, CRGBA color)=0;
+00508 <font class="comment">// @}</font>
+00509
+00511 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a47">release</a>(<font class="keywordtype">void</font>);
+00512
+00514 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a48">isActive</a>()=0;
+00515
+00517 <font class="keyword">virtual</font> uint8 <a class="code" href="classNL3D_1_1IDriver.html#a49">getBitPerPixel</a> ()=0;
+00518
+00528 <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1IDriver.html#s41">TMessageBoxId</a> <a class="code" href="classNL3D_1_1IDriver.html#a50">systemMessageBox</a> (<font class="keyword">const</font> <font class="keywordtype">char</font>* message, <font class="keyword">const</font> <font class="keywordtype">char</font>* title, <a class="code" href="classNL3D_1_1IDriver.html#s42">TMessageBoxType</a> <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>=<a class="code" href="classNL3D_1_1IDriver.html#s42s8">okType</a>, <a class="code" href="classNL3D_1_1IDriver.html#s43">TMessageBoxIcon</a> icon=<a class="code" href="classNL3D_1_1IDriver.html#s43s15">noIcon</a>);
+00529
+00534 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a51">setupViewport</a> (<font class="keyword">const</font> <font class="keyword">class</font> CViewport&amp; viewport)=0;
+00535
+00536
+00540 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a52">setupScissor</a> (<font class="keyword">const</font> <font class="keyword">class</font> CScissor&amp; scissor)=0;
+00541
+00542
+00548 <font class="keyword">virtual</font> uint32 <a class="code" href="classNL3D_1_1IDriver.html#a53">getImplementationVersion</a> () <font class="keyword">const</font> = 0;
+00549
+00554 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font>* <a class="code" href="classNL3D_1_1IDriver.html#a54">getDriverInformation</a> () = 0;
+00555
+00560 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font>* <a class="code" href="classNL3D_1_1IDriver.html#a55">getVideocardInformation</a> () = 0;
+00561
+00563 <font class="comment">// @{</font>
+00565 <font class="comment"> virtual void showCursor (bool b) = 0;</font>
+00566
+00568 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z430_1">setMousePos</a> (<font class="keywordtype">float</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>, <font class="keywordtype">float</font> <a class="code" href="driver__opengl__extension__def_8h.html#a365">y</a>) = 0;
+00569
+00578 <font class="keyword">virtual</font> <a class="code" href="structNLMISC_1_1IMouseDevice.html">NLMISC::IMouseDevice</a> *<a class="code" href="classNL3D_1_1IDriver.html#z430_2">enableLowLevelMouse</a>(<font class="keywordtype">bool</font> enable) = 0;
+00579
+00587 <font class="keyword">virtual</font> <a class="code" href="structNLMISC_1_1IKeyboardDevice.html">NLMISC::IKeyboardDevice</a> *<a class="code" href="classNL3D_1_1IDriver.html#z430_3">enableLowLevelKeyboard</a>(<font class="keywordtype">bool</font> enable) = 0;
+00588
+00592 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z430_4">setCapture</a> (<font class="keywordtype">bool</font> b) = 0;
+00593
+00597 <font class="keyword">virtual</font> <a class="code" href="structNLMISC_1_1IInputDeviceManager.html">NLMISC::IInputDeviceManager</a> *<a class="code" href="classNL3D_1_1IDriver.html#z430_5">getLowLevelInputDeviceManager</a>() = 0;
+00598
+00599 <font class="comment">// @}</font>
+00600
+00602 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a56">getWindowSize</a> (uint32 &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a389">width</a>, uint32 &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a390">height</a>) = 0;
+00603
+00604
+00609 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a57">getBuffer</a> (CBitmap &amp;bitmap) = 0;
+00610
+00615 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a58">getZBuffer</a> (std::vector&lt;float&gt; &amp;zbuffer) = 0;
+00616
+00623 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a59">getBufferPart</a> (CBitmap &amp;bitmap, <a class="code" href="classNLMISC_1_1CRect.html">NLMISC::CRect</a> &amp;rect) = 0;
+00624
+00631 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a60">getZBufferPart</a> (std::vector&lt;float&gt; &amp;zbuffer, <a class="code" href="classNLMISC_1_1CRect.html">NLMISC::CRect</a> &amp;rect) = 0;
+00632
+00633
+00650 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a61">copyFrameBufferToTexture</a>(ITexture *tex,
+00651 uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a387">level</a>,
+00652 uint32 offsetx,
+00653 uint32 offsety,
+00654 uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>,
+00655 uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a365">y</a>,
+00656 uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a389">width</a>,
+00657 uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a390">height</a>
+00658 ) = 0 ;
+00659
+00665 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a62">fillBuffer</a> (CBitmap &amp;bitmap) = 0;
+00666
+00667
+<a name="l00674"></a><a class="code" href="classNL3D_1_1IDriver.html#a63">00674</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a63">setPolygonMode</a> (<a class="code" href="classNL3D_1_1IDriver.html#s44">TPolygonMode</a> mode)
+00675 {
+00676 <a class="code" href="classNL3D_1_1IDriver.html#n4">_PolygonMode</a>=mode;
+00677 }
+00678
+00679
+00685 <font class="keyword">virtual</font> uint <a class="code" href="classNL3D_1_1IDriver.html#a64">getMaxLight</a> () <font class="keyword">const</font> = 0;
+00686
+00696 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a65">setLight</a> (uint8 <a class="code" href="driver__opengl__extension__def_8h.html#a410">num</a>, <font class="keyword">const</font> CLight&amp; light) = 0;
+00697
+00707 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a66">enableLight</a> (uint8 <a class="code" href="driver__opengl__extension__def_8h.html#a410">num</a>, <font class="keywordtype">bool</font> enable=<font class="keyword">true</font>) = 0;
+00708
+00715 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a67">setAmbientColor</a> (CRGBA color) = 0;
+00716
+00721 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a68">setPerPixelLightingLight</a>(CRGBA diffuse, CRGBA specular, <font class="keywordtype">float</font> shininess) = 0;
+00722
+<a name="l00728"></a><a class="code" href="classNL3D_1_1IDriver.html#a69">00728</a> <a class="code" href="classNL3D_1_1IDriver.html#s44">TPolygonMode</a> <a class="code" href="classNL3D_1_1IDriver.html#a69">getPolygonMode</a> ()
+00729 {
+00730 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1IDriver.html#n4">_PolygonMode</a>;
+00731 }
+00732
+00734 <font class="comment">// @{</font>
+00735
+<a name="l00736"></a><a class="code" href="classNL3D_1_1IDriver.html#z431_0">00736</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_0">TMatrix</a>
+00737 {
+00738 <a class="code" href="classNL3D_1_1IDriver.html#z431_0s32">ModelView</a>= 0,
+00739 <a class="code" href="classNL3D_1_1IDriver.html#z431_0s33">Projection</a>,
+00740 <a class="code" href="classNL3D_1_1IDriver.html#z431_0s34">ModelViewProjection</a>,
+00741 <a class="code" href="classNL3D_1_1IDriver.html#z431_0s35">NumMatrix</a>
+00742 };
+00743
+<a name="l00744"></a><a class="code" href="classNL3D_1_1IDriver.html#z431_1">00744</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_1">TTransform</a>
+00745 {
+00746 <a class="code" href="classNL3D_1_1IDriver.html#z431_1s36">Identity</a>=0,
+00747 <a class="code" href="classNL3D_1_1IDriver.html#z431_1s37">Inverse</a>,
+00748 <a class="code" href="classNL3D_1_1IDriver.html#z431_1s38">Transpose</a>,
+00749 <a class="code" href="classNL3D_1_1IDriver.html#z431_1s39">InverseTranspose</a>,
+00750 <a class="code" href="classNL3D_1_1IDriver.html#z431_1s40">NumTransform</a>
+00751 };
+00752
+00756 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_2">isVertexProgramSupported</a> () <font class="keyword">const</font> =0;
+00757
+00761 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_3">isVertexProgramEmulated</a> () <font class="keyword">const</font> =0;
+00762
+00763
+00764
+00772 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_4">activeVertexProgram</a> (CVertexProgram *<a class="code" href="driver__opengl__extension__def_8h.html#a360">program</a>) =0;
+00773
+00777 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_5">setConstant</a> (uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, <font class="keywordtype">float</font>, <font class="keywordtype">float</font>, <font class="keywordtype">float</font>, <font class="keywordtype">float</font>) =0;
+00778 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_5">setConstant</a> (uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, <font class="keywordtype">double</font>, <font class="keywordtype">double</font>, <font class="keywordtype">double</font>, <font class="keywordtype">double</font>) =0;
+00779 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_5">setConstant</a> (uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a>&amp; <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>) =0;
+00780 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_5">setConstant</a> (uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVectorD.html">NLMISC::CVectorD</a>&amp; <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>) =0;
+00782 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_5">setConstant</a> (uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, uint <a class="code" href="driver__opengl__extension__def_8h.html#a410">num</a>, <font class="keyword">const</font> <font class="keywordtype">float</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a409">src</a>) =0;
+00784 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_5">setConstant</a> (uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, uint <a class="code" href="driver__opengl__extension__def_8h.html#a410">num</a>, <font class="keyword">const</font> <font class="keywordtype">double</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a409">src</a>) =0;
+00785
+00786
+00798 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_11">setConstantMatrix</a> (uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, <a class="code" href="classNL3D_1_1IDriver.html#z431_0">TMatrix</a> <a class="code" href="driver__opengl__extension__def_8h.html#a370">matrix</a>, <a class="code" href="classNL3D_1_1IDriver.html#z431_1">TTransform</a> <a class="code" href="driver__opengl__extension__def_8h.html#a371">transform</a>) =0;
+00799
+00801 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_12">supportVertexProgramDoubleSidedColor</a>() <font class="keyword">const</font> = 0;
+00802
+00803
+00810 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z431_13">enableVertexProgramDoubleSidedColor</a>(<font class="keywordtype">bool</font> doubleSided) =0;
+00811
+00812 <font class="comment">// @}</font>
+00813
+00815 <font class="comment">// @{</font>
+00817 <font class="comment"> virtual bool supportTextureShaders() const = 0;</font>
+00819 <font class="comment"> virtual bool isTextureAddrModeSupported(CMaterial::TTexAddressingMode mode) const = 0;</font>
+00825 <font class="comment"></font> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z432_2">setMatrix2DForTextureOffsetAddrMode</a>(<font class="keyword">const</font> uint stage, <font class="keyword">const</font> <font class="keywordtype">float</font> mat[4]) = 0;
+00827
+00828
+00836 <font class="comment">// @{</font>
+00837 <font class="comment">// Test if EMBM is supported.</font>
+00838 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#z433_0">supportEMBM</a>() <font class="keyword">const</font> = 0;
+00839 <font class="comment">// Test if EMBM is supported for the given stage</font>
+00840 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#z433_1">isEMBMSupportedAtStage</a>(uint stage) <font class="keyword">const</font> = 0;
+00841 <font class="comment">// set the matrix used for EMBM adressing :</font>
+00842 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z433_2">setEMBMMatrix</a>(<font class="keyword">const</font> uint stage, <font class="keyword">const</font> <font class="keywordtype">float</font> mat[4]) = 0;
+00843 <font class="comment">// @}</font>
+00844
+00845 <font class="comment">// Does the driver support the per-pixel lighting shader ?</font>
+00846 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#a70">supportPerPixelLighting</a>(<font class="keywordtype">bool</font> specular) <font class="keyword">const</font> = 0;
+00847
+00848
+00850 <font class="comment">// @{</font>
+00851
+00855 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1IDriver.html#z434_0">supportBlendConstantColor</a>() <font class="keyword">const</font> =0;
+00856
+00859 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#z434_1">setBlendConstantColor</a>(<a class="code" href="classNLMISC_1_1CRGBA.html">NLMISC::CRGBA</a> col)=0;
+00860
+00863 <font class="keyword">virtual</font> <a class="code" href="classNLMISC_1_1CRGBA.html">NLMISC::CRGBA</a> <a class="code" href="classNL3D_1_1IDriver.html#z434_2">getBlendConstantColor</a>() <font class="keyword">const</font> =0;
+00864
+00865 <font class="comment">// @}</font>
+00866
+00867
+00873 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#a71">swapTextureHandle</a>(ITexture &amp;tex0, ITexture &amp;tex1) =0;
+00874
+00875
+00876 <font class="keyword">protected</font>:
+<a name="l00877"></a><a class="code" href="classNL3D_1_1IDriver.html#l0">00877</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1IDriver.html#l0">IVBDrvInfos</a>;
+<a name="l00878"></a><a class="code" href="classNL3D_1_1IDriver.html#l1">00878</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1IDriver.html#l1">CTextureDrvShare</a>;
+<a name="l00879"></a><a class="code" href="classNL3D_1_1IDriver.html#l2">00879</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1IDriver.html#l2">ITextureDrvInfos</a>;
+<a name="l00880"></a><a class="code" href="classNL3D_1_1IDriver.html#l3">00880</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1IDriver.html#l3">IShader</a>;
+<a name="l00881"></a><a class="code" href="classNL3D_1_1IDriver.html#l4">00881</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1IDriver.html#l4">IVertexProgramDrvInfos</a>;
+00882
+00884 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#b0">removeVBDrvInfoPtr</a>(<a class="code" href="namespaceNL3D.html#a295">ItVBDrvInfoPtrList</a> vbDrvInfoIt);
+00885 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#b1">removeTextureDrvInfoPtr</a>(<a class="code" href="namespaceNL3D.html#a246">ItTexDrvInfoPtrMap</a> texDrvInfoIt);
+00886 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#b2">removeTextureDrvSharePtr</a>(<a class="code" href="namespaceNL3D.html#a247">ItTexDrvSharePtrList</a> texDrvShareIt);
+00887 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#b3">removeShaderPtr</a>(<a class="code" href="namespaceNL3D.html#a235">ItShaderPtrList</a> shaderIt);
+00888 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1IDriver.html#b4">removeVtxPrgDrvInfoPtr</a>(<a class="code" href="namespaceNL3D.html#a297">ItVtxPrgDrvInfoPtrList</a> vtxPrgDrvInfoIt);
+00889 };
+00890
+00891 <font class="comment">// --------------------------------------------------</font>
+00892
+00893 }
+00894
+00895 <font class="preprocessor">#endif // NL_DRV_H</font>
+00896 <font class="preprocessor"></font>
+</pre></div>
+
+<!-- footer -->
+<BR><FONT Size=+5>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </FONT>
+</TD>
+<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD>
+</TR>
+</TABLE>
+</BODY>
+</HTML>