==========
TKE_Camera
==========

Opcode
======

.. csv-table::

	"ASCII", ">"
	"Hexadecimal", "3E"
	"Decimal", "62"
	
	
Operands
========

Byte projection, Point position, Point target, 
Point up_vector, Float field_width, Float field_width, 
[Float oblique_around_y], [Float oblique_around_x], [Float near_limit] 

.. raw:: html

	<table BORDER =1 WIDTH="530">
	  <TR> 
		<TD height=21 width=131>projection</TD>
		<TD height=21 width=390>bitmask describing the projection transform</TD>
	  </TR>
	  <tr> 
		<td WIDTH="131" HEIGHT="21">position</td>
		<td WIDTH="390" HEIGHT="21">camera <em>eye</em> point</td>
	  </tr>
	  <tr> 
		<td WIDTH="131" HEIGHT="21">target</td>
		<td WIDTH="390" HEIGHT="21">point at center of projection plane</td>
	  </tr>
	  <tr> 
		<td WIDTH="131" HEIGHT="21">up_vector</td>
		<td WIDTH="390" HEIGHT="21">direction representing "up" to the camera</td>
	  </tr>
	  <tr> 
		<td WIDTH="131" HEIGHT="21">field_width, field_height</td>
		<td WIDTH="390" HEIGHT="21">size of the minimum viewable rectangle around 
		  the target point</td>
	  </tr>
	  <tr> 
		<td WIDTH="131" HEIGHT="21">oblique_around_y</td>
		<td WIDTH="390" HEIGHT="21">horizontal skew angle (degrees), present if 
		  the Camera_Oblique_Y bit is set in the projection</td>
	  </tr>
	  <tr> 
		<td WIDTH="131" HEIGHT="21">oblique_around_x</td>
		<td WIDTH="390" HEIGHT="21">vertical skew angle (degrees), present if 
		  the Camera_Oblique_X bit is set in the projection</td>
	  </tr>
	  <tr> 
		<td WIDTH="131" HEIGHT="21">near_limit</td>
		<td WIDTH="390" HEIGHT="21">near clipping plane (hither) scaled between 
		  0 at the camera position and 1 at the target, present if Near_Limit 
		  bit is set</td>
	  </tr>
	</table>
	
	
Notes
=====

Camera projection applied to the currently opened segment.


Projection
==========

.. raw:: html

	<table BORDER =1 WIDTH="500">
	  <TR> 
		<TD height=21 width=50> 01</TD>
		<TD height=21 width=390>perspective (default is orthographic)</TD>
	  </TR>
	  <tr> 
		<td WIDTH="50" HEIGHT="21"> 02</td>
		<td WIDTH="390" HEIGHT="21">stretched (field is stretched to fit window, 
		  by default aspect of field is not changed and additional data outside 
		  the field may be visible)</td>
	  </tr>
	  <tr> 
		<td WIDTH="50" HEIGHT="21"> 04</td>
		<td WIDTH="390" HEIGHT="21">Camera_Oblique_Y, view is skewed about the 
		  Y-axis (x is sheared relative to z)</td>
	  </tr>
	  <tr> 
		<td WIDTH="50" HEIGHT="21"> 08</td>
		<td WIDTH="390" HEIGHT="21">Camera_Oblique_X, view is skewed about the 
		  X-axis (y is sheared relative to z)</td>
	  </tr>
	  <tr> 
		<td WIDTH="50" HEIGHT="21"> 10</td>
		<td WIDTH="390" HEIGHT="21">Near_Limit, explicit near clipping limit is 
		  specified</td>
	  </tr>
	</table>
