mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-26 10:19:45 +03:00
Enumerations Visual3d_TypeOfModel, V3d_TypeOfShadingModel. - Remove unused values V3d_MULTICOLOR, V3d_HIDDEN, Visual3d_TOM_INTERP_COLOR. - Add per-pixel shading mode - V3d_PHONG, Visual3d_TOM_FRAGMENT. Draw Harness command vrenderparams. Add option -shadingModel to setup Shading Model. OpenGl_Caps::ffpEnable - new option to switch FFP/built-in GLSL programs. OpenGl_ShaderManager - add built-in GLSL programs. Draw Harness command vcaps. - Fix command syntax to meet coding rules. - Add option -ffp to activate/disable built-in GLSL programs. GLSL API changes. - Rename vertex attribute occColor -> occVertColor. - Introduce vec4 occColor uniform variable for light-less shaders. - Introduce float occPointSize uniform variable for marker programs. OpenGl_VertexBuffer::bindAttribute() - activate normalization for non-GL_FLOAT types, since color attribute is defined as 32-bit vector of 4 unsigned byte values. OpenGl_Context - add methods SetColor4fv() and SetPointSize() for parameters redirection to active GLSL program (as alternative to glColor4fv() and glPointSize()). OpenGl_ShaderProgram - define default precision for float types in Fragment Shader within OpenGL ES 2.0+ context. OpenGl_AspectMarker, initialize Aspect_TOM_O_POINT display list in the same way as sprite texture. OpenGl_Texture, do not use sized internal formats on OpenGL ES.
71 lines
1.7 KiB
C++
Executable File
71 lines
1.7 KiB
C++
Executable File
// ShadingModelDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "Viewer3dApp.h"
|
|
#include "ShadingModelDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CShadingModelDlg dialog
|
|
|
|
|
|
CShadingModelDlg::CShadingModelDlg(Handle_V3d_View Current_V3d_View, CWnd* pParent /*=NULL*/)
|
|
: CDialog(CShadingModelDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CShadingModelDlg)
|
|
myCurrent_V3d_View=Current_V3d_View;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CShadingModelDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CShadingModelDlg)
|
|
// NOTE: the ClassWizard will add DDX and DDV calls here
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CShadingModelDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CShadingModelDlg)
|
|
ON_BN_CLICKED(IDC_SHADINGMODEL_COLOR, OnShadingmodelColor)
|
|
ON_BN_CLICKED(IDC_SHADINGMODEL_FLAT, OnShadingmodelFlat)
|
|
ON_BN_CLICKED(IDC_SHADINGMODEL_GOURAUD, OnShadingmodelGouraud)
|
|
ON_BN_CLICKED(IDC_SHADINGMODEL_PHONG, OnShadingmodelPhong)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CShadingModelDlg message handlers
|
|
|
|
void CShadingModelDlg::OnShadingmodelColor()
|
|
{
|
|
myCurrent_V3d_View->SetShadingModel(V3d_COLOR);
|
|
myCurrent_V3d_View->Update();
|
|
}
|
|
|
|
void CShadingModelDlg::OnShadingmodelFlat()
|
|
{
|
|
myCurrent_V3d_View->SetShadingModel(V3d_FLAT);
|
|
myCurrent_V3d_View->Update();
|
|
}
|
|
|
|
void CShadingModelDlg::OnShadingmodelGouraud()
|
|
{
|
|
myCurrent_V3d_View->SetShadingModel(V3d_GOURAUD);
|
|
myCurrent_V3d_View->Update();
|
|
}
|
|
|
|
void CShadingModelDlg::OnShadingmodelPhong()
|
|
{
|
|
myCurrent_V3d_View->SetShadingModel(V3d_PHONG);
|
|
myCurrent_V3d_View->Update();
|
|
}
|