1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../../css/manpage.css" type="text/css" /> 7<title>CreateShaderPipeline</title> 8 </head> 9 <body> 10<h1><CODE><a href="../../../../nn/Overview.html">nn</a>::<a href="../../../../nn/gd/Overview.html">gd</a>::<a href="../../../../nn/gd/CTR/Overview.html">CTR</a>::<a href="../../../../nn/gd/CTR/ShaderStage/Overview.html">ShaderStage</a>::CreateShaderPipeline</CODE> Member Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14static <a href="../../../../nnResult/Overview.html">nnResult</a> CreateShaderPipeline( 15 Shader * vertexShader, 16 Shader * geometryShader, 17 ShaderPipeline ** shaderPipeline, 18 <a href="../../../../nn/gd/CTR/ShaderPipelineUnmanagedRegisters/Overview.html">ShaderPipelineUnmanagedRegisters</a> * unmanagedRegister = NULL 19); 20</pre> 21 </div> 22<h2>Parameters</h2> 23 <div class="section"> 24 <table class="arguments"> 25 <thead> 26 <tr> 27 <td width="15" /> 28<th>Name</th> 29<td>Description</td> 30 </tr> 31 </thead> 32 <tr> 33<td>in</td> 34<th>vertexShader</th> 35<td>Specifies a pointer to the vertex shader object to be attached.</td> 36 </tr> 37 <tr> 38<td>in</td> 39<th>geometryShader</th> 40<td>Specifies a pointer to the geometry shader object to be attached. Specify <CODE>NULL</CODE> if not used.</td> 41 </tr> 42 <tr> 43<td>out</td> 44<th>shaderPipeline</th> 45<td>Specifies the address storing the created shader pipeline pointer.</td> 46 </tr> 47 <tr> 48<td>in</td> 49<th>unmanagedRegister</th> 50<td>The specified register command is not generated. Directly output by the <CODE>SetFloatConstantBuffer</CODE> function.</td> 51 </tr> </table> 52 </div> 53<h2>Return Values</h2> 54<div class="section">Returns the result of the operation. <br /> 55 <table class="arguments"> 56 <thead> 57 <tr> 58<th>Value</th> 59<td>Description</td> 60 </tr> 61 </thead> 62 <tr> 63<th><CODE>Result::IsSuccess</CODE></th> 64<td>Process was successful.</td> 65 </tr> 66 <tr> 67<th><CODE>ResultNullParameter</CODE></th> 68<td><CODE>NULL</CODE> was specified for <CODE>vertexShader</CODE> or <CODE>shaderPipeline</CODE>.</td> 69 </tr> 70 <tr> 71<th><CODE>ResultOutOfMemory</CODE></th> 72<td>Could not allocate memory.</td> 73 </tr> 74 <tr> 75<th><CODE>ResultInvalidShaderSignature</CODE></th> 76<td>The geometry object is not correct. There were 96 or more floating point constant registers.</td> 77 </tr> 78 </table> </div> 79<h2>Description</h2> 80 <div class="section"> 81<p>Creates a shader pipeline with an attached shader object.</p><p>By default, after a new shader or the current shader is updated, subsequent rendering functions automatically create (recreate) commands for some or all shader variables. In several cases, you can improve performance by creating direct shader variable commands rather than automatically creating them. In such cases, you can define shader variables for which direct commands will be created as unmanaged variables to be directly ouptut.</p><!-- write here --></div> 82<h2>See Also</h2> 83 <div class="section"> 84<p class="reference"><a href="../../../../nn/gd/CTR/ShaderStage/SetFloatConstantBuffer.html"><CODE>SetFloatConstantBuffer</CODE></a><br /> </p> 85 </div> 86<h2>Revision History</h2> 87 <div class="section"> 88 <dl class="history"> 89 <dt>2011/02/17</dt> 90<dd>Initial version.<br /> 91 </dd> 92 </dl> 93 </div> 94 <hr><p>CONFIDENTIAL</p></body> 95</html> 96