MCPcopy Create free account
hub / github.com/cinder/Cinder / setup

Method setup

samples/_opengl/NormalMapping/src/NormalMappingApp.cpp:130–227  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128};
129
130void NormalMappingApp::setup()
131{
132 // setup camera and lights
133 mCamera.lookAt( vec3( 0.2f, 0.4f, 1.0f ), vec3(0.0f, 0.425f, 0.0f) );
134 mCamera.setNearClip( 0.01f );
135 mCamera.setFarClip( 100.0f );
136
137 mLightLantern.diffuse = Color(0.9f, 0.6f, 0.3f);
138 mLightLantern.specular = Color(0.9f, 0.6f, 0.3f);
139
140 mLightAmbient.diffuse = Color(0.2f, 0.6f, 1.0f);
141 mLightAmbient.specular = Color(0.05f, 0.15f, 0.25f);
142
143 // setup perlin noise to easily animate our lantern light source
144 mPerlin = Perlin(4, 65535);
145
146 // default settings
147 mMeshBounds = AxisAlignedBox( vec3( 0 ), vec3( 1 ) );
148
149 mAutoRotate = true;
150 mAutoRotateAngle = 0.0f;
151
152 mAnimateLantern = true;
153
154 mEnableNormalMap = true;
155 mShowNormalsAndTangents = false;
156
157 mViewMode = ViewMode::Default;
158
159 // load assets
160 try {
161 // load our copyright message
162 mCopyrightMap = gl::Texture::create( loadImage( loadAsset("copyright.png") ) );
163
164 // load textures
165 auto texFormat = gl::Texture2d::Format().loadTopDown();
166 mDiffuseMap = gl::Texture::create( loadImage( loadAsset("leprechaun_diffuse.jpg") ), texFormat );
167 mSpecularMap = gl::Texture::create( loadImage( loadAsset("leprechaun_specular.jpg") ), texFormat );
168 mNormalMap = gl::Texture::create( loadImage( loadAsset("leprechaun_normal.jpg") ), texFormat );
169 mEmissiveMap = gl::Texture::create( loadImage( loadAsset("leprechaun_emmisive.png") ), texFormat );
170
171 // load our shaders and set the non-varying uniforms
172#if ! defined( CINDER_GL_ES )
173 mShaderNormalMapping = gl::GlslProg::create( loadAsset("normal_mapping_vert.glsl"), loadAsset("normal_mapping_frag.glsl") );
174
175 gl::GlslProg::Format fmt;
176 fmt.vertex( loadAsset("wireframe_vert.glsl") );
177 fmt.geometry( loadAsset("wireframe_geom.glsl") );
178 fmt.fragment( loadAsset("wireframe_frag.glsl") );
179 mShaderWireframe = gl::GlslProg::create( fmt );
180#else
181 mShaderNormalMapping = gl::GlslProg::create( loadAsset("normal_mapping_vert_es2.glsl"), loadAsset("normal_mapping_frag_es2.glsl") );
182#endif
183
184 mShaderNormalMapping->uniform( "uDiffuseMap", 0 );
185 mShaderNormalMapping->uniform( "uSpecularMap", 1 );
186 mShaderNormalMapping->uniform( "uNormalMap", 2 );
187 mShaderNormalMapping->uniform( "uEmmisiveMap", 3 );

Callers

nothing calls this directly

Calls 15

loadImageFunction · 0.85
loadAssetFunction · 0.85
AssetFileSystem_fopenFunction · 0.85
AssetFileSystem_flengthFunction · 0.85
getAssetPathFunction · 0.85
lookAtMethod · 0.80
vertexMethod · 0.80
uniformMethod · 0.80
ColorFunction · 0.50
AxisAlignedBoxClass · 0.50
createFunction · 0.50
FormatClass · 0.50

Tested by

no test coverage detected