コード例 #1
0
ファイル: Bullet.cpp プロジェクト: c-plus-c/3DShootingOne
void Bullet::Draw()
{
	SetUseLighting(FALSE);
	//SetUseLighting(TRUE);

	switch (_bulletType)
	{
	case BULLET_TYPE_ENEMY:
		MV1SetScale(ResourceHandles::getResourceHandles().EnemyBulletHandle, VGet(_size, _size, _size));
		MV1SetPosition(ResourceHandles::getResourceHandles().EnemyBulletHandle, _translation);
		MV1DrawModel(ResourceHandles::getResourceHandles().EnemyBulletHandle);
		break;
	case BULLET_TYPE_PLAYER:
		MV1SetScale(ResourceHandles::getResourceHandles().PlayerBulletHandle, VGet(_size, _size, _size));
		MV1SetPosition(ResourceHandles::getResourceHandles().PlayerBulletHandle, _translation);
		MV1DrawModel(ResourceHandles::getResourceHandles().PlayerBulletHandle);
		break;
	case BULLET_TYPE_PLAYER_HORMING:
		MV1SetScale(ResourceHandles::getResourceHandles().HormingBulletHandle, VGet(_size, _size, _size));
		MV1SetPosition(ResourceHandles::getResourceHandles().HormingBulletHandle, _translation);
		MV1DrawModel(ResourceHandles::getResourceHandles().HormingBulletHandle);
		break;
	default:
		break;
	}
}
コード例 #2
0
ファイル: Light.hpp プロジェクト: tenonno/dxlib-2
	static void Use(const bool use)
	{
		SetUseLighting(use);
	}
コード例 #3
0
ファイル: simpleLightingContext.cpp プロジェクト: 400dama/USD
void
GlfSimpleLightingContext::SetStateFromOpenGL()
{
    // import classic GL light's parameters into shaded lights
    SetUseLighting(glIsEnabled(GL_LIGHTING));

    GfMatrix4d worldToViewMatrix;
    glGetDoublev(GL_MODELVIEW_MATRIX, worldToViewMatrix.GetArray());
    GfMatrix4d viewToWorldMatrix = worldToViewMatrix.GetInverse();

    GLint nLights = 0;
    glGetIntegerv(GL_MAX_LIGHTS, &nLights);

    GlfSimpleLightVector lights;
    lights.reserve(nLights);

    GlfSimpleLight light;
    for(int i = 0; i < nLights; ++i)
    {
        int lightName = GL_LIGHT0 + i;
        if (glIsEnabled(lightName)) {
            GLfloat position[4], color[4];

            glGetLightfv(lightName, GL_POSITION, position);
            light.SetPosition(GfVec4f(position)*viewToWorldMatrix);
            
            glGetLightfv(lightName, GL_AMBIENT, color);
            light.SetAmbient(GfVec4f(color));
            
            glGetLightfv(lightName, GL_DIFFUSE, color);
            light.SetDiffuse(GfVec4f(color));
            
            glGetLightfv(lightName, GL_SPECULAR, color);
            light.SetSpecular(GfVec4f(color));

            lights.push_back(light);
        }
    }

    SetLights(lights);

    GlfSimpleMaterial material;

    GLfloat color[4], shininess;
    glGetMaterialfv(GL_FRONT, GL_AMBIENT, color);
    material.SetAmbient(GfVec4f(color));
    glGetMaterialfv(GL_FRONT, GL_DIFFUSE, color);
    material.SetDiffuse(GfVec4f(color));
    glGetMaterialfv(GL_FRONT, GL_SPECULAR, color);
    material.SetSpecular(GfVec4f(color));
    glGetMaterialfv(GL_FRONT, GL_EMISSION, color);
    material.SetEmission(GfVec4f(color));
    glGetMaterialfv(GL_FRONT, GL_SHININESS, &shininess);
    // clamp to 0.0001, since pow(0,0) is undefined in GLSL.
    shininess = std::max(0.0001f, shininess);
    material.SetShininess(shininess);

    SetMaterial(material);

    GfVec4f sceneAmbient;
    glGetFloatv(GL_LIGHT_MODEL_AMBIENT, &sceneAmbient[0]);
    SetSceneAmbient(sceneAmbient);
}