MathgeomGLS
48 строк · 1.4 Кб
1//---------------------------------------------------------------------------
2
3#include <vcl.h>
4#pragma hdrstop
5
6#include "fcHalfSphere.h"
7//---------------------------------------------------------------------------
8#pragma package(smart_init)
9#pragma link "GLS.BaseClasses"
10#pragma link "GLS.Coordinates"
11#pragma link "GLS.Material"
12#pragma link "GLS.Objects"
13#pragma link "GLS.Scene"
14#pragma link "GLS.SceneViewer"
15#pragma link "GLS.SimpleNavigation"
16#pragma link "GLSL.UserShader"
17#pragma resource "*.dfm"
18TFormHalfSphere *FormHalfSphere;
19//---------------------------------------------------------------------------
20__fastcall TFormHalfSphere::TFormHalfSphere(TComponent* Owner)
21: TForm(Owner)
22{
23}
24//---------------------------------------------------------------------------
25void __fastcall TFormHalfSphere::GLUserShader1DoApply(TObject *Sender, TGLRenderContextInfo &rci)
26
27{
28rci.GLStates->Enable(stCullFace);
29rci.GLStates->CullFaceMode = cmBack;
30}
31//---------------------------------------------------------------------------
32void __fastcall TFormHalfSphere::GLUserShader1DoUnApply(TObject *Sender, int Pass,
33TGLRenderContextInfo &rci, bool &Continue)
34{
35if (Pass > 1)
36{
37Continue = false;
38rci.GLStates->FrontFace = fwCounterClockWise;
39}
40else
41{
42rci.GLStates->PolygonMode = pmLines;
43rci.GLStates->CullFaceMode = cmFront;
44Continue = true;
45}
46
47}
48//---------------------------------------------------------------------------
49