updated to GLM...but only ortho matrix is OK.

This commit is contained in:
hyzboy 2021-09-24 20:49:20 +08:00
parent 6c6ee96be1
commit 91460aba5a
11 changed files with 39 additions and 40 deletions

@ -1 +1 @@
Subproject commit dd86bf63150b0f50dcc4a53b79df6cba63b04851 Subproject commit e78ebebee1c373346ab6da0ee1a174090825f29a

2
CMCore

@ -1 +1 @@
Subproject commit e469041733b2446bad783c5176a1480622f78a0e Subproject commit 34b70f1b42c97602253a74d1769e60d340729682

@ -1 +1 @@
Subproject commit c8141fd275ce2ac9f4087c446eb04ba1be3a93b3 Subproject commit a7c3577cba0ec9cff2181cd506c1c33bc0423f4a

View File

@ -11,7 +11,6 @@ set(ULRE_3RDPTY_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/3rdpty)
include(vulkan) include(vulkan)
include(math) include(math)
#use_mgl(${ULRE_3RDPTY_ROOT_PATH}/MathGeoLib)
use_glm(${ULRE_3RDPTY_ROOT_PATH}/glm) use_glm(${ULRE_3RDPTY_ROOT_PATH}/glm)
include(use_cm_module) include(use_cm_module)
@ -38,7 +37,7 @@ SET(ULRE CMCore
CMUtil CMUtil
ULRE.Util ULRE.Util
ULRE.SceneGraph ULRE.SceneGraph
MathGeoLib GLM
${RENDER_LIBRARY} ${RENDER_LIBRARY}
${Vulkan_LIBRARIES}) ${Vulkan_LIBRARIES})

View File

@ -71,16 +71,16 @@ private:
{ {
struct PlaneGridCreateInfo pgci; struct PlaneGridCreateInfo pgci;
pgci.coord[0].Set(-100,-100,0); pgci.coord[0]=Vector3f(-100,-100,0);
pgci.coord[1].Set( 100,-100,0); pgci.coord[1]=Vector3f( 100,-100,0);
pgci.coord[2].Set( 100, 100,0); pgci.coord[2]=Vector3f( 100, 100,0);
pgci.coord[3].Set(-100, 100,0); pgci.coord[3]=Vector3f(-100, 100,0);
pgci.step.u=20; pgci.step.x=20;
pgci.step.v=20; pgci.step.y=20;
pgci.side_step.u=10; pgci.side_step.x=10;
pgci.side_step.v=10; pgci.side_step.y=10;
pgci.color.Set(0.5,0,0,1); pgci.color.Set(0.5,0,0,1);
pgci.side_color.Set(1,0,0,1); pgci.side_color.Set(1,0,0,1);
@ -96,12 +96,12 @@ private:
pgci.side_color.Set(0,0,1,1); pgci.side_color.Set(0,0,1,1);
ro_plane_grid[2]=CreateRenderablePlaneGrid(db,material,&pgci); ro_plane_grid[2]=CreateRenderablePlaneGrid(db,material,&pgci);
camera->pos.Set(200,200,200,1.0); camera->pos=Vector4f(200,200,200,1.0);
} }
bool InitScene() bool InitScene()
{ {
Add(ro_plane_grid[0],Matrix4f::identity); Add(ro_plane_grid[0],Matrix4f());
Add(ro_plane_grid[1],rotate(HGL_RAD_90,0,1,0)); Add(ro_plane_grid[1],rotate(HGL_RAD_90,0,1,0));
Add(ro_plane_grid[2],rotate(HGL_RAD_90,1,0,0)); Add(ro_plane_grid[2],rotate(HGL_RAD_90,1,0,0));

View File

@ -71,12 +71,12 @@ private:
bool InitMaterial() bool InitMaterial()
{ {
light.color.Set(1,1,1,1); light.color=Vector4f(1,1,1,1);
light.position.Set(1000,1000,1000,1.0); light.position=Vector4f(1000,1000,1000,1.0);
phong.BaseColor.Set(1,1,1,1); phong.BaseColor=Vector4f(1,1,1,1);
phong.ambient=0.5; phong.ambient=0.5;
phong.specular.Set(0.3,0.3,0.3,32); phong.specular=Vector4f(0.3,0.3,0.3,32);
{ {
axis_material=db->CreateMaterial(OS_TEXT("res/material/VertexColor3D")); axis_material=db->CreateMaterial(OS_TEXT("res/material/VertexColor3D"));
@ -162,7 +162,7 @@ private:
{ {
struct CubeCreateInfo cci; struct CubeCreateInfo cci;
cci.has_color=true; cci.has_color=true;
cci.color.Set(1,1,1,1); cci.color=Vector4f(1,1,1,1);
ro_cube=CreateRenderableCube(db,material,&cci); ro_cube=CreateRenderableCube(db,material,&cci);
} }

View File

@ -42,7 +42,7 @@ protected:
void OnMousePressed (int,int,uint mk){mouse_key=mk;MousePressed(mk);} void OnMousePressed (int,int,uint mk){mouse_key=mk;MousePressed(mk);}
void OnMouseReleased(int,int,uint mk){mouse_key=0;MouseReleased(mk);} void OnMouseReleased(int,int,uint mk){mouse_key=0;MouseReleased(mk);}
void OnMouseMove (int x,int y){mouse_pos.Set(x,y);MouseMove();} void OnMouseMove (int x,int y){mouse_pos.x=x;mouse_pos.y=y;MouseMove();}
void OnMouseWheel (int v,int h,uint mk){MouseWheel(v,h,mk);} void OnMouseWheel (int v,int h,uint mk){MouseWheel(v,h,mk);}
protected: protected:

View File

@ -62,9 +62,9 @@ namespace hgl
struct PlaneGridCreateInfo struct PlaneGridCreateInfo
{ {
Vector3f coord[4]; Vector3f coord[4];
vec2<uint> step; Vector2u step;
vec2<uint> side_step; //到边界的步数 Vector2u side_step; //到边界的步数
Color4f color; //一般线条颜色 Color4f color; //一般线条颜色
Color4f side_color; //边界线条颜色 Color4f side_color; //边界线条颜色

2
res

@ -1 +1 @@
Subproject commit 9385c782cc857a87f579d2a022d18918e3526147 Subproject commit 8dbe22e45adc11317f5d38be04b359655f4dffac

View File

@ -63,7 +63,7 @@ namespace hgl
AutoDelete<VB2f> vertex=rc.CreateVADA<VB2f>(VAN::Position); AutoDelete<VB2f> vertex=rc.CreateVADA<VB2f>(VAN::Position);
vec2<float> *coord=new vec2<float>[rci->round_per]; Vector2f *coord=new Vector2f[rci->round_per];
float l=rci->scope.GetLeft(), float l=rci->scope.GetLeft(),
r=rci->scope.GetRight(), r=rci->scope.GetRight(),
@ -164,21 +164,21 @@ namespace hgl
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
if(!rc.Init(((pgci->step.u+1)+(pgci->step.v+1))*2)) if(!rc.Init(((pgci->step.x+1)+(pgci->step.y+1))*2))
return(nullptr); return(nullptr);
AutoDelete<VB3f> vertex=rc.CreateVADA<VB3f>(VAN::Position); AutoDelete<VB3f> vertex=rc.CreateVADA<VB3f>(VAN::Position);
for(uint row=0;row<=pgci->step.u;row++) for(uint row=0;row<=pgci->step.x;row++)
{ {
float pos=float(row)/float(pgci->step.u); float pos=float(row)/float(pgci->step.x);
vertex->WriteLine( to(pgci->coord[0],pgci->coord[1],pos), vertex->WriteLine( to(pgci->coord[0],pgci->coord[1],pos),
to(pgci->coord[3],pgci->coord[2],pos)); to(pgci->coord[3],pgci->coord[2],pos));
} }
for(uint col=0;col<=pgci->step.v;col++) for(uint col=0;col<=pgci->step.y;col++)
{ {
float pos=float(col)/float(pgci->step.v); float pos=float(col)/float(pgci->step.y);
vertex->WriteLine(to(pgci->coord[1],pgci->coord[2],pos), vertex->WriteLine(to(pgci->coord[1],pgci->coord[2],pos),
to(pgci->coord[0],pgci->coord[3],pos)); to(pgci->coord[0],pgci->coord[3],pos));
@ -187,17 +187,17 @@ namespace hgl
AutoDelete<VB4f> color=rc.CreateVADA<VB4f>(VAN::Color); AutoDelete<VB4f> color=rc.CreateVADA<VB4f>(VAN::Color);
if(color) if(color)
{ {
for(uint row=0;row<=pgci->step.u;row++) for(uint row=0;row<=pgci->step.x;row++)
{ {
if((row%pgci->side_step.u)==0) if((row%pgci->side_step.x)==0)
color->Fill(pgci->side_color,2); color->Fill(pgci->side_color,2);
else else
color->Fill(pgci->color,2); color->Fill(pgci->color,2);
} }
for(uint col=0;col<=pgci->step.v;col++) for(uint col=0;col<=pgci->step.y;col++)
{ {
if((col%pgci->side_step.v)==0) if((col%pgci->side_step.y)==0)
color->Fill(pgci->side_color,2); color->Fill(pgci->side_color,2);
else else
color->Fill(pgci->color,2); color->Fill(pgci->color,2);

View File

@ -5,18 +5,18 @@ namespace hgl
{ {
SceneOrient::SceneOrient() SceneOrient::SceneOrient()
{ {
LocalMatrix =Matrix4f::identity; //LocalMatrix =Matrix4f::identity;
LocalToWorldMatrix =Matrix4f::identity; //LocalToWorldMatrix =Matrix4f::identity;
InverseLocalMatrix =Matrix4f::identity; //InverseLocalMatrix =Matrix4f::identity;
InverseLocalToWorldMatrix =Matrix4f::identity; //InverseLocalToWorldMatrix =Matrix4f::identity;
} }
SceneOrient::SceneOrient(const Matrix4f &mat) SceneOrient::SceneOrient(const Matrix4f &mat)
{ {
SetLocalMatrix(mat); SetLocalMatrix(mat);
LocalToWorldMatrix =Matrix4f::identity; //LocalToWorldMatrix =Matrix4f::identity;
InverseLocalToWorldMatrix =Matrix4f::identity; //InverseLocalToWorldMatrix =Matrix4f::identity;
} }
Matrix4f &SceneOrient::SetLocalMatrix(const Matrix4f &m) Matrix4f &SceneOrient::SetLocalMatrix(const Matrix4f &m)