本文整理汇总了C++中Window::Clear方法的典型用法代码示例。如果您正苦于以下问题:C++ Window::Clear方法的具体用法?C++ Window::Clear怎么用?C++ Window::Clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Window
的用法示例。
在下文中一共展示了Window::Clear方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main() {
Window window;
Camera camera(window.GetAspectRatio(), glm::vec3(2.0, 2.0, 1.0));
Mesh* sphereMesh = CreateMesh("sphere.obj", "sphere");
Shader defaultShader("Shaders/defaultShader.vert", "Shaders/defaultShader.frag", "defaultShader");
SetupMesh(sphereMesh, defaultShader);
do {
window.Clear();
DrawMesh(*sphereMesh, camera, defaultShader);
camera.front = sphereMesh->position;
sphereMesh->rotY -= 0.016;
{
if (glfwGetKey(window.GetWindowInstance(), GLFW_KEY_W) == GLFW_PRESS) {
sphereMesh->position.x -= 0.16;
}
else if (glfwGetKey(window.GetWindowInstance(), GLFW_KEY_S) == GLFW_PRESS) {
sphereMesh->position.x += 0.16;
}
if (glfwGetKey(window.GetWindowInstance(), GLFW_KEY_A) == GLFW_PRESS) {
sphereMesh->position.z += 0.16;
}
else if (glfwGetKey(window.GetWindowInstance(), GLFW_KEY_D) == GLFW_PRESS) {
sphereMesh->position.z -= 0.16;
}
}
window.Update();
} while (!window.Closed() && glfwGetKey(window.GetWindowInstance(), GLFW_KEY_ESCAPE) != GLFW_PRESS);
delete sphereMesh;
}
示例2: main
int main(int argv, char** argc)
{
Window win;
win.Init("MyWindow");
SDL_Texture *texBackground = win.LoadImage("../res/background.png");
win.Clear();
win.Draw(texBackground,win.Box());
win.Present();
Event evt;
evt.AddCallback(SDL_KEYDOWN,funKeyDown);
evt.StartEvent();
return 0;
}
示例3: UpdateMenu
int UpdateMenu(Window &App)
{
App.FPS =60;
Uint8 *Key;
SDL_Event Event;
bool Running = true;
while(Running)
{
Key = SDL_GetKeyState(NULL);
while( SDL_PollEvent(&Event) )
{
if(Event.type == SDL_QUIT)
{
Running = false;
}
}
if( Key[SDLK_SPACE] )
{
Running = false;
return 1;
}
if( Key[SDLK_ESCAPE])
{
return 20;
}
App.LimitFramerate();
App.Flip();
App.RenderText();
App.Clear();
}
return 20;
}
示例4: _tWinMain
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
Engine::Init();
Input input;
input.Init();
Window window;
window.Init(800, 600, "killerg2d");
ResMgr resmgr;
resmgr.Init();
FrameRate framerate;
framerate.Init(600);
Timer timer;
timer.Init();
SpiritAnimate spirit;
spirit.Init("abc.txt");
int x = 100, y = 100;
int model = 0;
while( !input.IsKeyDown(SDLK_ESCAPE) )
{
timer.Update();
input.Update();
if( input.IsKeyDown(SDLK_LEFT) )
x-=1;
if( input.IsKeyDown(SDLK_RIGHT) )
x+=1;
if( input.IsKeyDown(SDLK_UP) )
y-=1;
if( input.IsKeyDown(SDLK_DOWN) )
y+=1;
if( input.IsKeyDown(SDLK_x) )
spirit.Play();
if( input.IsKeyDown(SDLK_y) )
spirit.Stop();
spirit.Update(timer.GetIntervalF());
window.Clear();
spirit.Draw(&window, x, y);
window.Flush();
framerate.WaitFrame();
}
timer.Destroy();
framerate.Destroy();
resmgr.Destroy();
window.Destroy();
input.Destroy();
Engine::Destroy();
}
示例5: main
//.........这里部分代码省略.........
0.822f, 0.569f, 0.201f,
0.435f, 0.602f, 0.223f,
0.310f, 0.747f, 0.185f,
0.597f, 0.770f, 0.761f,
0.559f, 0.436f, 0.730f,
0.359f, 0.583f, 0.152f,
0.483f, 0.596f, 0.789f,
0.559f, 0.861f, 0.639f,
0.195f, 0.548f, 0.859f,
0.014f, 0.184f, 0.576f,
0.771f, 0.328f, 0.970f,
0.406f, 0.615f, 0.116f,
0.676f, 0.977f, 0.133f,
0.971f, 0.572f, 0.833f,
0.140f, 0.616f, 0.489f,
0.997f, 0.513f, 0.064f,
0.945f, 0.719f, 0.592f,
0.543f, 0.021f, 0.978f,
0.279f, 0.317f, 0.505f,
0.167f, 0.620f, 0.077f,
0.347f, 0.857f, 0.137f,
0.055f, 0.953f, 0.042f,
0.714f, 0.505f, 0.345f,
0.783f, 0.290f, 0.734f,
0.722f, 0.645f, 0.174f,
0.302f, 0.455f, 0.848f,
0.225f, 0.587f, 0.040f,
0.517f, 0.713f, 0.338f,
0.053f, 0.959f, 0.120f,
0.393f, 0.621f, 0.362f,
0.673f, 0.211f, 0.457f,
0.820f, 0.883f, 0.371f,
0.982f, 0.099f, 0.879f
};
GLushort indicesData[] =
{
0, 1, 2, 0, 2, 3, // front
4, 5, 6, 4, 6, 7, // back
8, 9, 10, 8, 10, 11, // top
12, 13, 14, 12, 14, 15, // bottom
16, 17, 18, 16, 18, 19, // right
20, 21, 22, 20, 22, 23 // left
};
VertexArray cube, cube2;
IndexBuffer ibo(indicesData, std::end(indicesData) - std::begin(indicesData));
cube.AddBuffer(sfnew Buffer(vertexBufferData, sizeof(vertexBufferData), 3), 0);
cube.AddBuffer(sfnew Buffer(colorBufferData, sizeof(colorBufferData), 3), 1);
cube2.AddBuffer(sfnew Buffer(vertexBufferData, sizeof(vertexBufferData), 3), 0);
cube2.AddBuffer(sfnew Buffer(colorBufferData, sizeof(colorBufferData), 3), 1);
Matrix4 projection = Matrix4::Perspective(100.0f, window.GetSize().X / window.GetSize().Y, 0.1f, 100.f);
Matrix4 view = Matrix4::LookAt(Vector3(4, 3, 3), Vector3(0, 0, 0), Vector3(0, 0.8f, 0));
Matrix4 model = Matrix4(1.0f);
Matrix4 mvp = projection * view * model;
Shader shader = Shader("tri_vertex.glsl", "tri_fragment.glsl");
shader.Enable();
while (!window.ShouldClose())
{
window.Clear(clearColor);
// Render here
cube.Bind();
ibo.Bind();
model = Matrix4::Translation(Vector3(0, 0, 0));
mvp = projection * view * model;
shader.SetUniformMat4("MVP", mvp);
glDrawElements(GL_TRIANGLES, ibo.GetCount(), GL_UNSIGNED_SHORT, 0);
ibo.Bind();
cube.Unbind();
cube2.Bind();
ibo.Bind();
model = Matrix4::Translation(Vector3(4, 0, 0));
mvp = projection * view * model;
shader.SetUniformMat4("MVP", mvp);
glDrawElements(GL_TRIANGLES, ibo.GetCount(), GL_UNSIGNED_SHORT, 0);
ibo.Bind();
cube2.Unbind();
window.Display();
window.Update();
}
window.Close();
#if _DEBUG
LOG_DEBUG("PAUSING NOW!");
system("PAUSE");
#endif
return EXIT_SUCCESS;
}
示例6:
JNIEXPORT void JNICALL Java_sp_app_Window_native_1Clear
(JNIEnv *env, jclass cls, jlong handler) {
Window* window = getHandle<Window>(handler);
window->Clear();
}
示例7: BoreCastleMain
int BoreCastleMain()
{
const int width = 1920 / 2;
const int height = 1080 / 2;
Window* window = Window::Create("Hello World!", width, height);
window->OnKeyEvent(window) = OnKey;
Shanoa shanoa({130, height - 128 + 2 - 24}, window);
Zone* zone = CreateTestZone(width, height, window);
Sprite sprite_energy(24, window->LoadImage(DATA_PATH "Sprite.png"), 60);
Sprite sprite_elskeletto(2, window->LoadImage(DATA_PATH "ElSkeletto/ElSkeletto.png"), 5);
Point elskeletto_position = {450, window->Height() - 128 - 32};
Point zone_offset;
Rate rate(60);
Shape s1(shanoa.Rect());
Shape s2({elskeletto_position, sprite_elskeletto.Size()});
//Obvious memory leak
auto quartz = [](Shape& shape)
{
auto& hs = shape.size / 2; //half size
shape.AddShape(new Shape({{shape.position}, hs}));
shape.AddShape(new Shape({{shape.position.x + hs.x, shape.position.y}, hs}));
shape.AddShape(new Shape({{shape.position.x, shape.position.y + hs.y}, hs}));
shape.AddShape(new Shape({{shape.position.x + hs.x, shape.position.y + hs.y}, hs}));
};
quartz(s1);
quartz(s2);
s1.MoveTo(shanoa.Position());
s2.MoveTo(elskeletto_position);
while(window->Update())
{
for(int i = rate.Update(); i > 0; --i)
{
if(GetKeyState(Keys::KeyF))
shanoa.Attack();
if(GetKeyState(Keys::KeySpace))
shanoa.Jump();
if(GetKeyState(Keys::KeyLeft))
{
shanoa.MoveLeft();
--zone_offset;
}
else if(GetKeyState(Keys::KeyRight))
{
shanoa.MoveRight();
++zone_offset;
}
else
shanoa.Stand();
shanoa.Update();
s1.MoveTo(shanoa.Position());
s1.Intersect(s2);
}
window->BeginDraw(false);
window->Clear({0, 0, 0x20});
zone->RenderBackground(window);
sprite_energy.Draw({530, 55}, window);
s1.Render(*window);
s2.Render(*window);
sprite_elskeletto.Draw(elskeletto_position, window);
shanoa.Render(window);
zone->RenderForeground(window);
window->EndDraw();
zone->SetOffset(zone_offset);
}
delete zone;
delete window;
return 0;
}