本文整理汇总了C++中sf::Clock类的典型用法代码示例。如果您正苦于以下问题:C++ Clock类的具体用法?C++ Clock怎么用?C++ Clock使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Clock类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: periodic_respawn_info_update
void game_state::periodic_respawn_info_update()
{
static sf::Clock clk;
///once per second
float broadcast_every_ms = 100.f;
if(clk.getElapsedTime().asMicroseconds() / 1000.f < broadcast_every_ms)
return;
clk.restart();
for(auto& i : respawn_requests)
{
player play = get_player_from_player_id(i.player_id);
if(play.id == -1)
continue;
float time_elapsed = i.clk.getElapsedTime().asMicroseconds() / 1000.f;
byte_vector vec;
vec.push_back(canary_start);
vec.push_back(message::RESPAWNINFO);
vec.push_back(time_elapsed);
vec.push_back(i.time_to_respawn_ms);
vec.push_back(canary_end);
udp_send_to(play.sock, vec.ptr, (const sockaddr*)&play.store);
}
}
开发者ID:20k,项目名称:sword_gameserver,代码行数:31,代码来源:game_state.cpp
示例2: Update
void Train::Update(const sf::Input &input) {
static sf::Clock clock;
static bool waiting = false;
acceleration = (1/mass) *(push_force - speed * brakes_factor);
speed += acceleration;
position.z += speed;
if (position.z > 900 || position.z < -900) {
position.z = -position.z;
//comingSound.SetPosition(this->position);
comingSound.Play();
StopGas();
}
if (!user_controlled){
if (position.z < -250 && position.z > -300){
StopGas();
Brakes();
}
if (IsStopped() && !waiting){
clock.Reset();
alarm=false;
waiting = true;
printf("\n\n\n waiting\n");
}
if (waiting && clock.GetElapsedTime() > waiting_time) {
Gas();
waiting = false;
printf(" timed out\n");
}
if (waiting && clock.GetElapsedTime() > waiting_time-4 && !alarm) {
alarm=true;
sound.SetBuffer(Buffer);
//sound.SetPitch(0.6);
//sound.SetAttenuation(0.4);
sound.SetRelativeToListener(true);
sound.SetPosition(this->position);
sound.SetMinDistance(100);
sound.Play();
//movmetnSound.SetPosition(this->position);
movmetnSound.Play();
}
light->position = sf::Vector3f(-40.900002,10,position.z + 5) ;
if(camera !=NULL)
camera->SetOrigin(position.x+8.3,position.y+15,position.z);
}else {
if (input.IsKeyDown(sf::Key::Z)) {
push_force = 0.1f;
}else if (input.IsKeyDown(sf::Key::X)){
brakes_factor = 0.05f;
}
}
}
开发者ID:IdeasStorm,项目名称:QuickSFML,代码行数:60,代码来源:Train.cpp
示例3:
bool MultiShootGraphical::update(sf::Clock const& clock)
{
bool ret = MultiShoot::update(clock);
_sprite->setPosition(
_pos.x,
_pos.y
);
if ((clock.getElapsedTime() - _lastUpdate) > _referential)
{
if (_incr)
{
if (_angle >= 30)
_incr = !_incr;
_angle++;
}
else
{
if (_angle <= -30)
_incr = !_incr;
_angle--;
}
_sprite->setRotation(_angle);
_lastUpdate = clock.getElapsedTime();
}
return ret;
}
开发者ID:YaskOne,项目名称:R-Type,代码行数:27,代码来源:MultiShootGraphical.cpp
示例4: broadcast_ping_data
void game_state::broadcast_ping_data()
{
static sf::Clock clk;
const float send_time_ms = 1000;
if(clk.getElapsedTime().asMicroseconds() / 1000.f < send_time_ms)
return;
clk.restart();
byte_vector vec;
vec.push_back(canary_start);
vec.push_back(message::PING_DATA);
int32_t num = player_list.size();
vec.push_back<int32_t>(num);
for(int i=0; i<player_list.size(); i++)
{
///playerid int32_t
///playerping float
vec.push_back<int32_t>(player_list[i].id);
vec.push_back<float>(player_list[i].ping_ms);
}
vec.push_back(canary_end);
int none = -1;
broadcast(vec.ptr, none);
}
开发者ID:20k,项目名称:sword_gameserver,代码行数:33,代码来源:game_state.cpp
示例5: RenderSceneCB
void RenderSceneCB()
{
glClear(GL_COLOR_BUFFER_BIT);
static sf::Clock a_timer;
static bool a_first_time = true;
if (a_first_time) {
a_first_time = false;
a_timer.restart ();
}
float dt = a_timer.getElapsedTime ().asSeconds ();
a_timer.restart ();
// ֲ�גמה ג פאיכ פןס ט הוכ�עא ׂ
//static FILE *out = fopen ((prefix_path + "inf/out.txt").c_str (), "w");
//fprintf (out, "%4d %10g\n", int(1/dt), dt);
if (in.kb.escape.pressed_now) {
exit (0);
}
core.update (dt);
core.render ();
core.m_renderer.draw_everything ();
glutSwapBuffers();
}
开发者ID:miha1994,项目名称:play_me,代码行数:25,代码来源:pure_opengl.cpp
示例6: periodic_team_broadcast
void game_state::periodic_team_broadcast()
{
static sf::Clock clk;
///once per second
float broadcast_every_ms = 1000.f;
if(clk.getElapsedTime().asMicroseconds() / 1000.f < broadcast_every_ms)
return;
clk.restart();
for(auto& i : player_list)
{
///network
byte_vector vec;
vec.push_back(canary_start);
vec.push_back(message::TEAMASSIGNMENT);
vec.push_back<int32_t>(i.id);
vec.push_back<int32_t>(i.team);
vec.push_back(canary_end);
//printf("Team ass %i team player %i\n", i.team, i.id);
int no_player = -1;
broadcast(vec.ptr, no_player);
}
}
开发者ID:20k,项目名称:sword_gameserver,代码行数:29,代码来源:game_state.cpp
示例7: update
//Process the player's inputs WASD and mouse buttons.
void Player::update(sf::RenderWindow &window, vector <Bullet *> &bullets, sf::Sound &laser, sf::FloatRect bounds, sf::Clock &fireRateTimer) {
if (sf::Keyboard::isKeyPressed(sf::Keyboard::W) && this->getPosition().y > bounds.top) {
this->velocity.y -= this->acceleration;
}
else if (sf::Keyboard::isKeyPressed(sf::Keyboard::D) && this->getPosition().x < bounds.width) {
this->velocity.x += this->acceleration;
}
else if (sf::Keyboard::isKeyPressed(sf::Keyboard::S) && this->getPosition().y < bounds.height) {
this->velocity.y += this->acceleration;
}
else if (sf::Keyboard::isKeyPressed(sf::Keyboard::A) && this->getPosition().x > bounds.left) {
this->velocity.x -= this->acceleration;
}
if (sf::Mouse::isButtonPressed(sf::Mouse::Left)) {
if (fireRateTimer.getElapsedTime().asSeconds() >= this->rateOfFire && this->alive) {
this->shoot(window, bullets, laser);
fireRateTimer.restart();
}
}
if (sf::Mouse::isButtonPressed(sf::Mouse::Right)) {
this->activateShield(window);
}
if (this->shieldCharge >= 200) {
this->shieldCharge = 200;
}
}
开发者ID:Crowmoore,项目名称:T.E.A.R,代码行数:27,代码来源:Player.cpp
示例8: getTime
float GameTime::getTime()
{
static sf::Clock gameTime;
sf::Time time = gameTime.getElapsedTime();
return (time.asSeconds());
}
开发者ID:athomaj,项目名称:RType,代码行数:7,代码来源:GameTime.cpp
示例9: gameLoop
/**
Représente un tour de boucle, ici ce trouve
toutes la gestion du jeu
@return true si pas de collision
*/
bool Game::gameLoop(sf::Clock & clock)
{
affichage();
sf::Event event;
recuperationEntree(event);
//valeur qui sera retrournée a la fin de la GameLoop
bool etat = m_map.collisionBloc(m_vaisseauJoueur, m_tirs, m_distanceParcouru);
actualisationInfoJoueur();
//actualisation du temps
m_tempsPasse = clock.getElapsedTime().asMicroseconds() / 20000.;
clock.restart().asMicroseconds();
m_tempsPasse /= m_coefRalentissement;
//calcul de la trajectoire puis la vitesse sera calculé a part
traitement(event, m_tempsPasse);
gestionScrolling(m_tempsPasse);
//deplacement des tirs
gererTirs(m_tempsPasse);
rechargeDesVaisseaux(m_tempsPasse);
actualiserAnimation(m_tempsPasse);
//comp 1
float tempsMaxComp = m_vaisseauJoueur.getCompetence(2)->getTempsDeRechargeMax();
float tempsActuelComp = m_vaisseauJoueur.getCompetence(2)->getTempsDeRechargeActuel();
float rapportComp1 = 1;
if (tempsActuelComp != tempsMaxComp)
rapportComp1 = ((tempsMaxComp - tempsActuelComp) / tempsMaxComp);
//comp 2
tempsMaxComp = m_vaisseauJoueur.getCompetence(3)->getTempsDeRechargeMax();
tempsActuelComp = m_vaisseauJoueur.getCompetence(3)->getTempsDeRechargeActuel();
float rapportComp2 = tempsActuelComp / tempsMaxComp;
//comp 3
tempsMaxComp = m_vaisseauJoueur.getCompetence(1)->getTempsDeRechargeMax();
tempsActuelComp = m_vaisseauJoueur.getCompetence(1)->getTempsDeRechargeActuel();
float rapportComp3 = 1;
if (m_vaisseauJoueur.getCompetence(1)->estActive())
{
rapportComp3 = tempsActuelComp / tempsMaxComp;
}
else if (tempsActuelComp != tempsMaxComp)
{
rapportComp3 = (tempsMaxComp - tempsActuelComp) / tempsMaxComp;
}
tableauDeBord.actualiserAnimationAvecCompetence(rapportComp1, rapportComp2, rapportComp3, m_vaisseauJoueur.getCompetence(1)->estActive());
return etat;
}
开发者ID:exidhor,项目名称:ShootThemUP,代码行数:64,代码来源:Game.cpp
示例10: Turing_StdlibSFML_PeriodicCallback
// called every couple of lines. Use it to check for events
void Turing_StdlibSFML_PeriodicCallback() {
// check every quarter of a second. This does make input delayed.
// It only stops the system from deeming us unresponsive
if(WinMan && eventClock.GetElapsedTime() > 0.5) {
WinMan->surface();
eventClock.Reset();
}
}
开发者ID:bregma,项目名称:OpenTuringCompiler,代码行数:9,代码来源:WindowManager.cpp
示例11: draw
void Game_Manager::draw()
{
static sf::Clock render_clock;
if (render_clock.getElapsedTime().asMilliseconds() < 2) {
return;
}
render_clock.restart();
m_app->clear();
if (is_tree)
{
tree_background.draw(0, 0);
skill_button[0].draw();
skill_button[3].draw();
skill_button[4].draw();
skill_button[5].draw();
skill_button[6].draw();
skill_button[7].draw();
skill_button[8].draw();
energy_text.refill(to_string(myPlayer.getEnergy()));
energy_text.draw(0, 0, 55);
if (skill_level < 3)
{
empty.draw(0, 500);
}
else if (skill_level >= 3)
{
empty.draw(0, 700);
}
}
else if (is_menu_visible)
{
menu1.draw();
}
else
{
m_app->setView(m_view2);
//Changes on the world
world_sprite.draw(0, 0);
afficherMapobjet();
m_app->setView(m_view1);
//Changes on the HUD, player
myPlayer.draw();
light_bar_background.draw(m_screen_x - light_bar_background.get_w(), 0);
light_bar.draw(m_screen_x + 28 - light_bar_background.get_w(), 40);
light_bar_grad.draw(m_screen_x - light_bar_background.get_w(), 0);
energy_text.refill(to_string(myPlayer.getEnergy() ) );
energy_text.draw(0, 0, 55);
difficulter_text.refill(to_string(_difficulter-1));
difficulter_text.draw(0, 100, 55);
}
m_app->display();
}
开发者ID:Sigaur,项目名称:Project-obscurity,代码行数:56,代码来源:Game_Manager.cpp
示例12: getDelta
unsigned long getDelta()
{
static sf::Clock clock; // starts the clock
static unsigned long last, now = clock.getElapsedTime().asMilliseconds();
last = now;
now = clock.getElapsedTime().asMilliseconds();
return (now-last);
}
开发者ID:Bradshaw,项目名称:Disquiet,代码行数:10,代码来源:main.cpp
示例13: playerControl
void Engine::playerControl(Player *player, float &delta_time, bool pressed)
{
sf::Vector2f vectors;
static sf::Vector2f wektor;
static sf::Clock clockCrash;
static sf::Time timerCrash;
if(player->lifes < -1)
{
game_over.setString(stringGameOver+toString(player->score));
game_over.setPosition((windowSize.x-game_over.getGlobalBounds().width)/2, windowSize.y/2);
gameOver = true;
}
if(crash)
{
player->ship.setOutlineColor(red);
timerCrash = clockCrash.getElapsedTime();
if(player->lifes >= 0)
info.setString(stringInfo+toString(player->lifes));
if(timerCrash >= sf::seconds(5))
{
crash = false;
player->ship.setOutlineColor(cyan);
clockCrash.restart();
player->lifes -= 1;
}
}
if(player->ship.getPosition().y < - 3.f)
player->ship.setPosition(player->ship.getPosition().x, windowSize.y + 3.f);
else if(player->ship.getPosition().y > windowSize.y + 3.f)
player->ship.setPosition(player->ship.getPosition().x, - 3.f);
else if(player->ship.getPosition().x > windowSize.x + 3.f)
player->ship.setPosition(-3.f, player->ship.getPosition().y);
else if(player->ship.getPosition().x < - 3.f)
player->ship.setPosition(windowSize.x + 3.f, player->ship.getPosition().y);
if(pressed)
{
wektor.x = std::sin((player->ship.getRotation()*M_PI) / 180.0f);
wektor.y = -std::cos((player->ship.getRotation()*M_PI) / 180.0f);
}
vectors.x = wektor.x * player->velocity * delta_time;
vectors.y = wektor.y * player->velocity * delta_time;
player->ship.move(vectors);
}
开发者ID:mrtycjan,项目名称:Geometry-Techno-Meteor-Storm,代码行数:54,代码来源:Engine.cpp
示例14: draw
void draw(sf::Clock &Clock)
{
// Apply move direction
if (dir == 0)
glRotatef(Clock.GetElapsedTime() * 90, 1.f, 0.f, 0.f);
else if (dir == 1)
glRotatef(Clock.GetElapsedTime() * -90, 1.f, 0.f, 0.f);
else if (dir == 2)
glRotatef(Clock.GetElapsedTime() * 90, 0.f, 1.f, 0.f);
else if (dir == 3)
glRotatef(Clock.GetElapsedTime() * -90, 0.f, 1.f, 0.f);
// Draw a cube
glBegin(GL_QUADS);
glColor3f(0.0f, 1.0f, 0.0f);
glVertex3f(-50.f, -50.f, -50.f);
glVertex3f(-50.f, 50.f, -50.f);
glVertex3f( 50.f, 50.f, -50.f);
glVertex3f( 50.f, -50.f, -50.f);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex3f(-50.f, -50.f, 50.f);
glVertex3f(-50.f, 50.f, 50.f);
glVertex3f( 50.f, 50.f, 50.f);
glVertex3f( 50.f, -50.f, 50.f);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex3f(-50.f, -50.f, -50.f);
glVertex3f(-50.f, 50.f, -50.f);
glVertex3f(-50.f, 50.f, 50.f);
glVertex3f(-50.f, -50.f, 50.f);
glColor3f(1.0f, 1.0f, 0.0f);
glVertex3f(50.f, -50.f, -50.f);
glVertex3f(50.f, 50.f, -50.f);
glVertex3f(50.f, 50.f, 50.f);
glVertex3f(50.f, -50.f, 50.f);
glColor3f(0.0f, 1.0f, 1.0f);
glVertex3f(-50.f, -50.f, 50.f);
glVertex3f(-50.f, -50.f, -50.f);
glVertex3f( 50.f, -50.f, -50.f);
glVertex3f( 50.f, -50.f, 50.f);
glColor3f(1.0f, 0.0f, 1.0f);
glVertex3f(-50.f, 50.f, 50.f);
glVertex3f(-50.f, 50.f, -50.f);
glVertex3f( 50.f, 50.f, -50.f);
glVertex3f( 50.f, 50.f, 50.f);
glEnd();
}
开发者ID:azokal,项目名称:YAOSGUI,代码行数:54,代码来源:window-opengl.cpp
示例15: Input
void MenuStanje::Input()
{
static sf::Clock clock;
float deltaT=clock.restart().asSeconds();
if(tranzicija==T_NEMA)
{
if(stanje==GLAVNI_MENU)
{
if(misOtpusten==true)
{
if(startGumb.odabran==true)
{
stanje=NIVO_ODABIR;
}
if(oigriGumb.odabran==true)
{
stanje=O_IGRI;
}
if(izlazGumb.odabran==true)
{
tranzicija=T_FADEOUT;
}
misOtpusten=false;
}
}
if(stanje==NIVO_ODABIR)
if(misOtpusten==true)
{
if(natragGumb.odabran==true)
stanje=GLAVNI_MENU;
for(int i=0; i<nivoi.size(); i++)
{
if(nivoi[i].gumb.odabran==true)
{
RenderLoading();
nivo_datoteka=nivoi[i].datoteka;
nivo_datoteka_g=nivoi[i].datoteka_g;
nivo_trenutni=i;
igra->SetState(new GameState(), true);
break;
}
}
misOtpusten=false;
}
if(stanje==O_IGRI)
if(misOtpusten==true)
{
if(natragGumb.odabran==true)
stanje=GLAVNI_MENU;
}
}
misOtpusten=false;
}
开发者ID:ArtfulSpy,项目名称:QuadAssault,代码行数:54,代码来源:MS_Input.cpp
示例16: updateGhosts
void Car::updateGhosts() {
static sf::Clock clock = sf::Clock();
sf::Time time = clock.getElapsedTime();
sf::Vector2f lastLocation = this->mLastLocation;
if (this->mCarGhostDrawables.size() > 0) {
lastLocation = this->mCarGhostDrawables.back().ghost.getPosition();
}
// add new ghost
float ghostDistance = length(this->mCurrentLocation - lastLocation);
if (ghostDistance >= Car::MAX_GHOSTS_DISTANCE && this->mVelocity > 0.0f) {
sf::RectangleShape ghost(sf::Vector2f(Car::CAR_WIDTH, Car::CAR_HEIGHT));
ghost.setOrigin(Car::CAR_WIDTH / 2.0f, Car::CAR_HEIGHT / 2.0f);
sf::Vector2f dir = normalize(this->mCurrentDirection);
ghost.setPosition(this->mCurrentLocation); // - (dir * (Car::MAX_GHOSTS_DISTANCE + 20.0f)));
ghost.setRotation(RAD_TO_DEG(heading(dir)));
ghost.setFillColor(this->mCarDrawable.getFillColor());
this->mCarGhostDrawables.push_back(Ghost(ghost, time.asMilliseconds()));
if (this->mCarGhostDrawables.size() >= Car::MAX_GHOSTS) {
this->mCarGhostDrawables.erase(this->mCarGhostDrawables.begin());
}
}
// do we need to remove some ghosts?
std::list<Ghost>::iterator it = this->mCarGhostDrawables.begin();
while (it != this->mCarGhostDrawables.end()) {
if ((time.asMilliseconds() - (*it).age) >= Car::MAX_GHOSTS_AGE) {
it = this->mCarGhostDrawables.erase(it);
} else {
++it;
}
}
// adjust alphas
int i = this->mCarGhostDrawables.size()+1;
//float steps = (80.0f - (80.0f * (MAX_VELOCITY / this->mVelocity))) / static_cast<float>(i);
float steps = 80.0f / static_cast<float>(i);
sf::Color color = this->mCarDrawable.getFillColor();
for (std::list<Ghost>::reverse_iterator it = this->mCarGhostDrawables.rbegin(); it != this->mCarGhostDrawables.rend(); ++it) {
color.a = steps * i--;
(*it).ghost.setFillColor(color);
}
}
开发者ID:JannesMeyer,项目名称:rac0r,代码行数:50,代码来源:Car.cpp
示例17: framesPerSecond
float framesPerSecond(sf::Clock & clock) {
frames_count++;
if (frames_count >= MAX_FRAME_SAMPLES) {
fps = ((float)frames_count / (float)clock.getElapsedTime().asMilliseconds()) * 1000;
clock.restart();
frames_count = 0;
}
//if (clock.getElapsedTime().asMilliseconds() >= 1000) {
// clock.restart();
// fps = count;
// count = 0;
//}
fflush(stdout);
return fps;
}
开发者ID:satanas,项目名称:sfml-test,代码行数:15,代码来源:main.cpp
示例18: interactTastatura
std::string Comunicare :: interactTastatura(sf::RenderWindow &fereastra, sf::Event &ev)
{
static sf::Clock timpActiune;
float timpRamas = timpActiune.getElapsedTime().asSeconds();
if(ev.type == sf::Event::TextEntered)
text_dl_tastatura += (char)ev.text.unicode;
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Return))
if(timpRamas > 0.1)
{
timpActiune.restart();
text_dl_tastatura += '\n';
}
if(sf::Keyboard::isKeyPressed(sf::Keyboard::BackSpace) && !text_dl_tastatura.empty())
text_dl_tastatura.erase(text_dl_tastatura.size()-1,1);
}
开发者ID:Gocware,项目名称:Spanzuratoare,代码行数:15,代码来源:Comunicare.cpp
示例19: setShaderVariables
void setShaderVariables(GLuint bubbleShaderProg)
{
GLfloat projMatrix[16];
GLfloat viewMatrix[16];
glGetFloatv(GL_PROJECTION_MATRIX, projMatrix);
glGetFloatv(GL_MODELVIEW_MATRIX, viewMatrix);
if(GL20Support)
{
glUniform1f(glGetUniformLocation(bubbleShaderProg, "elapsedTime"), motionClock.GetElapsedTime());
glUniform1f(glGetUniformLocation(bubbleShaderProg, "near"), _near);
glUniform1f(glGetUniformLocation(bubbleShaderProg, "far"), _far);
glUniform1f(glGetUniformLocation(bubbleShaderProg, "fov"), fov);
glUniform1f(glGetUniformLocation(bubbleShaderProg, "cursorScrollAmount"), cursorScrollAmount);
glUniform2f(glGetUniformLocation(bubbleShaderProg, "resolution"), RES_WIDTH, RES_HEIGHT);
glUniform3f(glGetUniformLocation(bubbleShaderProg, "modelCenter"), center[0], center[1], center[2]);
glUniform3f(glGetUniformLocation(bubbleShaderProg, "cameraPos"), cameraPos[0], cameraPos[1], cameraPos[2]);
glUniform3f(glGetUniformLocation(bubbleShaderProg, "lookAtPos"), lookAtPos[0], lookAtPos[1], lookAtPos[2]);
glUniform3f(glGetUniformLocation(bubbleShaderProg, "cameraUp"), cameraUp[0], cameraUp[1], cameraUp[2]);
glUniformMatrix4fv(glGetUniformLocation(bubbleShaderProg, "projMatrix"), 1, false, projMatrix);
glUniformMatrix4fv(glGetUniformLocation(bubbleShaderProg, "viewMatrix"), 1, false, viewMatrix);
glUniform2f(glGetUniformLocation(bubbleShaderProg, "lightPos"), lightPos[0], lightPos[1]);
glUniform2f(glGetUniformLocation(bubbleShaderProg, "cursorAbsolutePos"), cursorAbsolutePos[0], cursorAbsolutePos[1]);
glUniform2f(glGetUniformLocation(bubbleShaderProg, "cursorDragAmount"), cursorDragAmount[0], cursorDragAmount[1]);
glUniform2f(glGetUniformLocation(bubbleShaderProg, "lastClickPos"), lastClickPos[0], lastClickPos[1]);
glUniform2f(glGetUniformLocation(bubbleShaderProg, "lastFrameDragPos"), lastFrameDragPos[0], lastFrameDragPos[1]);
glUniform1i(glGetUniformLocation(bubbleShaderProg, "mouseButtonDown"), mouseButtonDown);
} else {
glUniform1fARB(glGetUniformLocationARB(bubbleShaderProg, "elapsedTime"), Clock.GetElapsedTime());
glUniform1fARB(glGetUniformLocationARB(bubbleShaderProg, "near"), _near);
glUniform1fARB(glGetUniformLocationARB(bubbleShaderProg, "far"), _far);
glUniform1fARB(glGetUniformLocationARB(bubbleShaderProg, "fov"), fov);
glUniform1fARB(glGetUniformLocationARB(bubbleShaderProg, "cursorScrollAmount"), cursorScrollAmount);
glUniform2fARB(glGetUniformLocationARB(bubbleShaderProg, "resolution"), RES_WIDTH, RES_HEIGHT);
glUniform3fARB(glGetUniformLocationARB(bubbleShaderProg, "modelCenter"), center[0], center[1], center[2]);
glUniform3fARB(glGetUniformLocationARB(bubbleShaderProg, "cameraPos"), cameraPos[0], cameraPos[1], cameraPos[2]);
glUniform3fARB(glGetUniformLocationARB(bubbleShaderProg, "lookAtPos"), lookAtPos[0], lookAtPos[1], lookAtPos[2]);
glUniform3fARB(glGetUniformLocationARB(bubbleShaderProg, "cameraUp"), cameraUp[0], cameraUp[1], cameraUp[2]);
glUniformMatrix4fvARB(glGetUniformLocationARB(bubbleShaderProg, "projMatrix"), 1, false, projMatrix);
glUniformMatrix4fvARB(glGetUniformLocationARB(bubbleShaderProg, "viewMatrix"), 1, false, viewMatrix);
glUniform2fARB(glGetUniformLocationARB(bubbleShaderProg, "cursorAbsolutePos"), cursorAbsolutePos[0], cursorAbsolutePos[1]);
glUniform2fARB(glGetUniformLocationARB(bubbleShaderProg, "cursorDragAmount"), cursorDragAmount[0], cursorDragAmount[1]);
glUniform2fARB(glGetUniformLocationARB(bubbleShaderProg, "lastClickPos"), lastClickPos[0], lastClickPos[1]);
glUniform2fARB(glGetUniformLocationARB(bubbleShaderProg, "lastFrameDragPos"), lastFrameDragPos[0], lastFrameDragPos[1]);
glUniform1iARB(glGetUniformLocationARB(bubbleShaderProg, "mouseButtonDown"), mouseButtonDown);
}
}
开发者ID:JohnMacAslan,项目名称:Bubbles,代码行数:48,代码来源:display.cpp
示例20: step
float step()
{
++mySteps;
float time(myClock.getElapsedTime().asSeconds());
if (time >= 1.f)
{
std::ostringstream str; str.precision(4);
str<<mySteps/time;
setString(str.str());
mySteps = 0;
myClock.restart();
}
return time;
}
开发者ID:posva,项目名称:InputManager,代码行数:16,代码来源:FPS.hpp
注:本文中的sf::Clock类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论