Commit initial
This commit is contained in:
84
test/event.cpp
Normal file
84
test/event.cpp
Normal file
@ -0,0 +1,84 @@
|
||||
#include "event.h"
|
||||
#include <XRA3D/render.h>
|
||||
#include <XRA3D/devices.h>
|
||||
#include <iostream>
|
||||
|
||||
myEventProfil::myEventProfil() : m_camera(0)
|
||||
{
|
||||
}
|
||||
|
||||
myEventProfil::~myEventProfil()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void myEventProfil::input(Xr_Camera *camera)
|
||||
{
|
||||
if(camera)
|
||||
{
|
||||
m_camera = camera;
|
||||
}
|
||||
}
|
||||
|
||||
void myEventProfil::execute(Xr_DevicesDesc *devices)
|
||||
{
|
||||
if(m_camera)
|
||||
{
|
||||
/*if(devices->windowHeight && devices->windowWidth)
|
||||
{
|
||||
Xr_Renderer::getInstance()->setVideo(devices->windowWidth, devices->windowHeight, false);
|
||||
Xr_Renderer::getInstance()->setImageSize(devices->windowWidth, devices->windowHeight);
|
||||
std::cout << devices->windowWidth << "x" << devices->windowHeight << std::endl;
|
||||
}*/
|
||||
|
||||
if(Xr_EventManager::getInstance()->mouseCaptured())
|
||||
{
|
||||
m_camera->relAngle(devices->mouse->relX * 20 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()), devices->mouse->relY * 20 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
|
||||
}
|
||||
|
||||
if(devices->mouse->button[XR_MOUSE_BUTTON_LEFT])
|
||||
{
|
||||
Xr_EventManager::getInstance()->enableMouseCapture();
|
||||
}
|
||||
|
||||
if(devices->keyboard->key[XR_KEY_LCTRL])
|
||||
{
|
||||
Xr_EventManager::getInstance()->disableMouseCapture();
|
||||
}
|
||||
|
||||
if(devices->keyboard->key[XR_KEY_ESCAPE])
|
||||
{
|
||||
Xr_EventManager::getInstance()->genQuitEvent();
|
||||
}
|
||||
|
||||
if(devices->keyboard->key[XR_KEY_LSHIFT])
|
||||
{
|
||||
m_camera->moveUpDown(-4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
|
||||
}
|
||||
|
||||
if(devices->keyboard->key[XR_KEY_SPACE])
|
||||
{
|
||||
m_camera->moveUpDown(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
|
||||
}
|
||||
|
||||
if(devices->keyboard->key[XR_KEY_z])
|
||||
{
|
||||
m_camera->moveForward(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
|
||||
}
|
||||
|
||||
if(devices->keyboard->key[XR_KEY_s])
|
||||
{
|
||||
m_camera->moveBackward(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
|
||||
}
|
||||
|
||||
if(devices->keyboard->key[XR_KEY_q])
|
||||
{
|
||||
m_camera->moveLeft(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
|
||||
}
|
||||
|
||||
if(devices->keyboard->key[XR_KEY_d])
|
||||
{
|
||||
m_camera->moveRight(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
|
||||
}
|
||||
}
|
||||
}
|
16
test/event.h
Normal file
16
test/event.h
Normal file
@ -0,0 +1,16 @@
|
||||
#include <XRA3D/event.h>
|
||||
#include <XRA3D/camera.h>
|
||||
|
||||
class myEventProfil : public Xr_EventProfil
|
||||
{
|
||||
public:
|
||||
myEventProfil();
|
||||
~myEventProfil();
|
||||
|
||||
void input(Xr_Camera*);
|
||||
virtual void execute(Xr_DevicesDesc*);
|
||||
|
||||
private:
|
||||
Xr_Camera *m_camera;
|
||||
};
|
||||
|
85
test/main.cpp
Normal file
85
test/main.cpp
Normal file
@ -0,0 +1,85 @@
|
||||
#include <XRA3D/debug.h>
|
||||
#include <XRA3D/render.h>
|
||||
#include <XRA3D/object.h>
|
||||
#include <XRA3D/ressource.h>
|
||||
#include <XRA3D/mesh.h>
|
||||
#include <XRA3D/texture.h>
|
||||
#include <XRA3D/scene.h>
|
||||
#include <XRA3D/material.h>
|
||||
#include <XRA3D/camera.h>
|
||||
#include <XRA3D/event.h>
|
||||
|
||||
#include "event.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Xr_Renderer::getInstance()->init(1280, 640, false, 60);
|
||||
|
||||
Xr_Material *material1 = new Xr_Material;
|
||||
Xr_Material *material2 = new Xr_Material;
|
||||
|
||||
material1->attachTexture((Xr_Texture*) Xr_RessourceManager::getInstance()->get(xr_texture_type, "tex1.jpg"));
|
||||
material2->attachTexture((Xr_Texture*) Xr_RessourceManager::getInstance()->get(xr_texture_type, "tex1.jpg"));
|
||||
|
||||
Xr_Camera *camera = new Xr_Camera;
|
||||
camera->setPos(0, 2, 5);
|
||||
camera->setAngle(90, 0);
|
||||
|
||||
myEventProfil *profil = new myEventProfil;
|
||||
profil->input(camera);
|
||||
Xr_EventManager::getInstance()->setProfil((Xr_EventProfil*) profil);
|
||||
|
||||
Xr_Scene *scene = new Xr_Scene;
|
||||
scene->attachCamera(camera);
|
||||
|
||||
//Xr_Object* obj_list[200];
|
||||
|
||||
/*for(int i = 0; i < 100; i++) {
|
||||
obj_list[i] = new Xr_Object;
|
||||
obj_list[i]->attachMesh((Xr_Mesh*) Xr_RessourceManager::getInstance()->get(xr_mesh_type, "duck.obj"));
|
||||
obj_list[i]->attachMaterial(material1);
|
||||
obj_list[i]->loadToServer();
|
||||
obj_list[i]->setPos(i * 2, 0, 0);
|
||||
scene->addObject(obj_list[i]);
|
||||
}*/
|
||||
|
||||
/*for(int i = 100; i < 200; i++) {
|
||||
obj_list[i] = new Xr_Object;
|
||||
obj_list[i]->attachMesh((Xr_Mesh*) Xr_RessourceManager::getInstance()->get(xr_mesh_type, "plan.obj"));
|
||||
obj_list[i]->attachMaterial(material2);
|
||||
obj_list[i]->loadToServer();
|
||||
obj_list[i]->setPos(0, -3, (i - 100) * 5);
|
||||
scene->addObject(obj_list[i]);
|
||||
}*/
|
||||
|
||||
Xr_Object *object1 = new Xr_Object;
|
||||
object1->attachMesh((Xr_Mesh*) Xr_RessourceManager::getInstance()->get(xr_mesh_type, "car.obj"));
|
||||
object1->attachMaterial(material1);
|
||||
object1->loadToServer();
|
||||
|
||||
/*Xr_Object *object2 = new Xr_Object;
|
||||
object2->attachMesh((Xr_Mesh*) Xr_RessourceManager::getInstance()->get(xr_mesh_type, "duck.obj"));
|
||||
object2->attachMaterial(material2);
|
||||
object2->loadToServer();
|
||||
object2->setPos(0, -3, 0);*/
|
||||
|
||||
scene->addObject(object1);
|
||||
//scene->addObject(object2);
|
||||
|
||||
Xr_Renderer::getInstance()->setScene(scene);
|
||||
Xr_Renderer::getInstance()->mainLoop();
|
||||
|
||||
delete scene;
|
||||
delete camera;
|
||||
/*for(int i = 0; i < 200; i++) {
|
||||
delete obj_list[i];
|
||||
}*/
|
||||
delete object1;
|
||||
//delete object2;
|
||||
delete material1;
|
||||
delete material2;
|
||||
|
||||
Xr_Renderer::quitInstance();
|
||||
|
||||
return 0;
|
||||
}
|
17
test/shader/.svn/all-wcprops
Normal file
17
test/shader/.svn/all-wcprops
Normal file
@ -0,0 +1,17 @@
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 36
|
||||
/svn/x-ray3d/!svn/ver/2/trunk/shader
|
||||
END
|
||||
test2.frag
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 47
|
||||
/svn/x-ray3d/!svn/ver/2/trunk/shader/test2.frag
|
||||
END
|
||||
test.vert
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 46
|
||||
/svn/x-ray3d/!svn/ver/2/trunk/shader/test.vert
|
||||
END
|
96
test/shader/.svn/entries
Normal file
96
test/shader/.svn/entries
Normal file
@ -0,0 +1,96 @@
|
||||
10
|
||||
|
||||
dir
|
||||
2
|
||||
https://subversion.assembla.com/svn/x-ray3d/trunk/shader
|
||||
https://subversion.assembla.com/svn/x-ray3d
|
||||
|
||||
|
||||
|
||||
2012-02-08T12:28:31.659376Z
|
||||
2
|
||||
ralf03
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
877da02c-69c5-4f9d-8e5e-0e81075059a3
|
||||
|
||||
test2.frag
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2012-02-08T12:31:45.000000Z
|
||||
0ade7cf890704bb0ceea74db6dfd2ac7
|
||||
2012-02-08T12:28:31.659376Z
|
||||
2
|
||||
ralf03
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
96
|
||||
|
||||
test.vert
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2012-02-08T12:31:45.000000Z
|
||||
5290f61bf5df181b98675f08b063ea4c
|
||||
2012-02-08T12:28:31.659376Z
|
||||
2
|
||||
ralf03
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
155
|
||||
|
9
test/shader/.svn/text-base/test.vert.svn-base
Normal file
9
test/shader/.svn/text-base/test.vert.svn-base
Normal file
@ -0,0 +1,9 @@
|
||||
uniform mat4 modelview;
|
||||
uniform mat4 projection;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = projection * modelview * gl_Vertex;
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
}
|
||||
|
6
test/shader/.svn/text-base/test2.frag.svn-base
Normal file
6
test/shader/.svn/text-base/test2.frag.svn-base
Normal file
@ -0,0 +1,6 @@
|
||||
uniform sampler2D texture;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = texture2D(texture, gl_TexCoord[0]);
|
||||
}
|
4
test/shader/basic.frag
Normal file
4
test/shader/basic.frag
Normal file
@ -0,0 +1,4 @@
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
}
|
9
test/shader/basic.vert
Normal file
9
test/shader/basic.vert
Normal file
@ -0,0 +1,9 @@
|
||||
uniform mat4 modelview;
|
||||
uniform mat4 projection;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = projection * modelview * gl_Vertex;
|
||||
}
|
||||
|
8
test/shader/render1.frag
Normal file
8
test/shader/render1.frag
Normal file
@ -0,0 +1,8 @@
|
||||
uniform sampler2D texture;
|
||||
varying float lum;
|
||||
|
||||
void main()
|
||||
{
|
||||
//gl_FragColor = texture2D(texture, vec2(gl_TexCoord[0])) * lum;
|
||||
gl_FragColor = vec4(lum, lum, lum, 0);
|
||||
}
|
17
test/shader/render1.vert
Normal file
17
test/shader/render1.vert
Normal file
@ -0,0 +1,17 @@
|
||||
uniform mat4 projection;
|
||||
uniform mat4 modelview;
|
||||
varying float lum;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec3 light = normalize(vec3(-1.0, -1.0, 0.0));
|
||||
vec3 norm = normalize(gl_Normal);
|
||||
lum = -dot(light, gl_Normal) + 0.20;
|
||||
if(lum <= 0.20) {
|
||||
lum = 0.20;
|
||||
}
|
||||
lum *= 0.80;
|
||||
|
||||
gl_Position = projection * modelview * gl_Vertex;
|
||||
//gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
}
|
6
test/shader/render2.frag
Normal file
6
test/shader/render2.frag
Normal file
@ -0,0 +1,6 @@
|
||||
uniform sampler2D lightView;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
}
|
15
test/shader/render2.vert
Normal file
15
test/shader/render2.vert
Normal file
@ -0,0 +1,15 @@
|
||||
uniform mat4 modelview;
|
||||
uniform mat4 projection;
|
||||
|
||||
uniform mat4 lightProjection;
|
||||
uniform mat4 lightModelview;
|
||||
|
||||
varying vec4 lightCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = projection * modelview * gl_Vertex;
|
||||
|
||||
lightCoord = lightProjection * lightModelview * gl_Vertex;
|
||||
}
|
||||
|
Reference in New Issue
Block a user