亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit1.pas

?? delphi 最好的3D控件GLScene_Demos
?? PAS
字號:
{: Advenced for the TGLHeightField object.<p>

   Check the fxy sample first.<p>

   This sample shows a few more tricks : how to switch formulas at run-time,
   effects of base grid extents and resolution change as well as color and
   lighting options of the TGLHeightField.<p>

   Note that maxed out grid size and minimum step (high resolution) will bring
   most of todays cards to their knees (if they do not just crash, that is).<p>

   Used formulas :<p>

   The Formula1 is of type Sin(d)/(1+d), with d=sqr(x)+sqr(y), you may note
   the interesting sampling-interference effect with big step values (low res)
   and remember your math teacher's warnings on graph-plotting :)<p>

   Formula2 is a more classic sin*cos mix<p>

   Dynamic is the third formula, if you pick it, a small ball will appear and
   move around, the plotted formula being the square distance to the ball.
}
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls,
  ComCtrls, GLScene, GLGraph, GLObjects, GLMisc, ExtCtrls, GLTexture,
  GLCadencer, VectorGeometry, GLWin32Viewer;

type
  TForm1 = class(TForm)
    GLScene1: TGLScene;
    GLSceneViewer1: TGLSceneViewer;
    GLCamera1: TGLCamera;
    GLLightSource1: TGLLightSource;
    HeightField1: TGLHeightField;
    TrackBar1: TTrackBar;
    TrackBar2: TTrackBar;
    Label1: TLabel;
    Label2: TLabel;
    CheckBox1: TCheckBox;
    Label3: TLabel;
    TrackBar3: TTrackBar;
    RadioGroup1: TRadioGroup;
    Timer1: TTimer;
    Label4: TLabel;
    ComboBox1: TComboBox;
    Sphere1: TGLSphere;
    GLCadencer1: TGLCadencer;
    Lines1: TGLLines;
    CheckBox2: TCheckBox;
    procedure GLSceneViewer1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
    procedure CheckBox1Click(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure TrackBar2Change(Sender: TObject);
    procedure TrackBar3Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure Sphere1Progress(Sender: TObject; const deltaTime,
      newTime: Double);
    procedure CheckBox2Click(Sender: TObject);
  private
    { D閏larations priv閑s }
    procedure Formula1(const x, y: Single; var z: Single;
      var color: TColorVector; var texPoint: TTexPoint);
    procedure Formula2(const x, y: Single; var z: Single;
      var color: TColorVector; var texPoint: TTexPoint);
    procedure Formula3(const x, y: Single; var z: Single;
      var color: TColorVector; var texPoint: TTexPoint);
  public
    { D閏larations publiques }
    mx, my : Integer;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
   // start with first formula
   HeightField1.OnGetHeight:=Formula1;
   // no per-vertex coloring
   ComboBox1.ItemIndex:=0;
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
   Sphere1.Visible:=False;
   // switch between formulas
   case RadioGroup1.ItemIndex of
      0 : HeightField1.OnGetHeight:=Formula1;
      1 : HeightField1.OnGetHeight:=Formula2;
      2 : begin
         HeightField1.OnGetHeight:=Formula3;
         Sphere1.Visible:=True;
      end;
   end;
end;

procedure TForm1.Formula1(const x, y: Single; var z: Single;
  var color: TColorVector; var texPoint: TTexPoint);
begin
   // first formula
   z:=VectorNorm(x, y);
   z:=cos(z*12)/(2*(z*6.28+1));
   VectorLerp(clrBlue, clrRed, (z+1)/2, color);
end;

procedure TForm1.Formula2(const x, y: Single; var z: Single;
  var color: TColorVector; var texPoint: TTexPoint);
begin
   // 2nd formula
   z:=0.5*cos(x*6.28)*sin(Sqrt(abs(y))*6.28);
   VectorLerp(clrBlue, clrRed, (z+1)/2, color);
end;

procedure TForm1.Formula3(const x, y: Single; var z: Single;
  var color: TColorVector; var texPoint: TTexPoint);
begin
   // 3rd formula, dynamic
   z:=1/(1+VectorNorm(Sphere1.position.X-x, Sphere1.position.Y-y));
   if ((Round(x*4)+Round(y*4)) and 1)=1 then
      color:=clrBlue
   else color:=clrYellow;
end;

procedure TForm1.Sphere1Progress(Sender: TObject; const deltaTime,
  newTime: Double);
begin
   // move our little sphere around
   if Sphere1.Visible then begin
      Sphere1.Position.SetPoint(cos(newTime*2.3), sin(newTime), 1.5);
      HeightField1.StructureChanged;
   end;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
   // enable two sided surface
   if CheckBox1.Checked then
      HeightField1.Options:=HeightField1.Options+[hfoTwoSided]
   else HeightField1.Options:=HeightField1.Options-[hfoTwoSided];
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
   // change per vertex color mode
   case ComboBox1.ItemIndex of
      0 : HeightField1.ColorMode:=hfcmNone;
      1 : HeightField1.ColorMode:=hfcmEmission;
      2 : HeightField1.ColorMode:=hfcmDiffuse;
   end;
end;

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
   GLLightSource1.Shining:=CheckBox2.Checked;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
   // adjust X extents
   with HeightField1.XSamplingScale do begin
      Min:=-TrackBar1.Position/10;
      Max:=TrackBar1.Position/10;
   end;
end;

procedure TForm1.TrackBar2Change(Sender: TObject);
begin
   // adjust Y extents
   with HeightField1.YSamplingScale do begin
      Min:=-TrackBar2.Position/10;
      Max:=TrackBar2.Position/10;
   end;
end;

procedure TForm1.TrackBar3Change(Sender: TObject);
begin
   // adjust grid steps (resolution)
   with HeightField1 do begin
      XSamplingScale.Step:=TrackBar3.Position/1000;
      YSamplingScale.Step:=TrackBar3.Position/1000;
   end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   // Display number of triangles used in the mesh
   // You will note that this number quickly gets out of hand if you are
   // using large high-resolution grids
   Caption:=Format('%d Triangles - %.2f FPS',
                   [HeightField1.TriangleCount, GLSceneViewer1.FramesPerSecond]);
   GLSceneViewer1.ResetPerformanceMonitor;
end;

// following code takes care of camera movement, see camera & movement demos
// for explanations and more samples

procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   mx:=x; my:=y;
end;

procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
   if Shift<>[] then begin
      GLCamera1.MoveAroundTarget(my-y, mx-x);
      mx:=x; my:=y;
   end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频一区在线| 欧美久久免费观看| 97精品久久久午夜一区二区三区 | 91丨九色porny丨蝌蚪| 色婷婷综合视频在线观看| 欧美麻豆精品久久久久久| 精品国产成人在线影院| 国产精品午夜春色av| 一区二区久久久久| 肉丝袜脚交视频一区二区| 久久国内精品自在自线400部| 国产传媒久久文化传媒| 91国偷自产一区二区开放时间| 欧美一级专区免费大片| 欧美激情中文不卡| 亚洲二区视频在线| 国产精品系列在线观看| 欧美主播一区二区三区| 久久久精品tv| 91麻豆蜜桃一区二区三区| 成人国产电影网| 在线一区二区观看| 欧美一区二区在线视频| 精品国产sm最大网站| 午夜国产精品影院在线观看| 国产日产欧产精品推荐色| 日本韩国欧美在线| 亚洲小说欧美激情另类| 不卡的av电影| 日韩午夜在线观看| 国产精品久久影院| 色妞www精品视频| 免费观看91视频大全| 欧美亚洲图片小说| 日韩精品一区二区三区四区| 精品人伦一区二区色婷婷| 亚洲欧洲美洲综合色网| 亚洲国产欧美在线| 国产麻豆视频精品| 欧美伦理电影网| 亚洲手机成人高清视频| 日本特黄久久久高潮| 欧美亚洲国产怡红院影院| 国产精品电影院| 一本一道久久a久久精品 | 色婷婷综合视频在线观看| youjizz国产精品| 欧美日韩精品三区| 亚洲图片欧美激情| 91在线小视频| www国产成人免费观看视频 深夜成人网| 一区二区不卡在线视频 午夜欧美不卡在 | 九一九一国产精品| 不卡免费追剧大全电视剧网站| 欧美日精品一区视频| 精品少妇一区二区三区免费观看 | 极品销魂美女一区二区三区| 欧美在线制服丝袜| 中文字幕国产一区二区| 国产精品一二三四| 欧美片网站yy| 日韩电影在线一区二区| 久久久久国产免费免费| 老色鬼精品视频在线观看播放| 国产91清纯白嫩初高中在线观看 | bt欧美亚洲午夜电影天堂| 国产精品区一区二区三区| 久久精品久久99精品久久| 91在线码无精品| 久久久久久久综合狠狠综合| www.日韩精品| 久久精品免费观看| 欧美精品aⅴ在线视频| 天天色 色综合| 国产ts人妖一区二区| 在线看国产一区| 亚洲欧美偷拍卡通变态| av亚洲产国偷v产偷v自拍| 久久久不卡影院| 国产福利一区在线| 欧美激情一区二区三区不卡 | 91丝袜美腿高跟国产极品老师 | 99精品1区2区| 丝袜脚交一区二区| 国产精品免费看片| 日韩精品一区二区三区四区| 国产精品美女久久久久aⅴ国产馆| 成人小视频在线| 国产精品福利电影一区二区三区四区| 99久久国产免费看| 一区二区三区美女| 欧美色图第一页| 日韩av网站免费在线| 26uuu色噜噜精品一区二区| 国产自产v一区二区三区c| 久久精品视频网| 91视频免费播放| 三级欧美在线一区| 精品国产一区二区亚洲人成毛片| 国内精品国产成人| 国产日产精品1区| 色婷婷激情一区二区三区| 天堂资源在线中文精品| 日韩欧美亚洲国产另类| 国产高清不卡一区二区| 亚洲欧美色图小说| 欧美性猛交xxxxxxxx| 免费成人你懂的| 国产精品久久午夜夜伦鲁鲁| 色久综合一二码| 青青草伊人久久| 久久综合国产精品| 精品国产乱码久久久久久久| 欧美一区二区在线免费播放| 成人激情小说乱人伦| 婷婷丁香激情综合| 中文字幕一区在线观看| 欧美成人国产一区二区| 日韩三级免费观看| 日本精品一区二区三区高清| 一本到不卡精品视频在线观看| 制服丝袜亚洲色图| 亚洲欧美日韩国产综合在线| 日本高清成人免费播放| 免费一级欧美片在线观看| 久久―日本道色综合久久| 成人国产视频在线观看| 视频一区视频二区中文| 亚洲6080在线| 成人午夜av影视| 成人看片黄a免费看在线| 国产一区二区在线看| 成人av资源网站| 国产精品一区二区免费不卡| 91热门视频在线观看| 欧美日韩精品系列| 欧美一级欧美三级在线观看| 中文字幕在线观看不卡| 久久精品国产精品青草| 成人网在线免费视频| 性做久久久久久免费观看| 久久精品亚洲一区二区三区浴池| 欧洲一区二区三区在线| 国产成人综合在线观看| 日本中文在线一区| 亚洲女人****多毛耸耸8| 精品国产乱码久久久久久蜜臀| 99久久99久久精品国产片果冻| 亚洲小说春色综合另类电影| 在线日韩国产精品| 成人欧美一区二区三区小说| 欧美成人乱码一区二区三区| 欧美伊人精品成人久久综合97| 国产成人午夜片在线观看高清观看| 日本美女视频一区二区| 一区二区三区国产精华| 午夜欧美大尺度福利影院在线看 | 中文在线免费一区三区高中清不卡 | 欧美妇女性影城| 99国产欧美另类久久久精品| 国产在线视频不卡二| 日韩国产欧美在线观看| 亚洲综合av网| 综合电影一区二区三区 | 国产成人av资源| 久久99国产精品免费网站| 亚洲国产综合色| 亚洲精品国产高清久久伦理二区 | 一本大道久久a久久综合婷婷| 国产福利精品导航| 韩国av一区二区三区在线观看 | 久久久亚洲高清| 欧美成人精品3d动漫h| 91精品国产aⅴ一区二区| 精品视频1区2区3区| 99riav一区二区三区| 成人毛片在线观看| 成人福利电影精品一区二区在线观看| 国产精品亚洲а∨天堂免在线| 麻豆精品久久精品色综合| 日日夜夜精品免费视频| 午夜精品123| 日韩国产欧美三级| 日本最新不卡在线| 日韩精彩视频在线观看| 性做久久久久久免费观看 | 欧美一区二视频| 91精品国产入口| 日韩午夜在线观看视频| 日韩一区二区三区视频在线观看| 91精品免费观看| 日韩欧美一区在线| 日韩精品最新网址| 欧美精品一区二区在线观看| 亚洲精品在线三区| 国产亚洲综合在线| 中文字幕日韩一区| 夜夜爽夜夜爽精品视频| 午夜精品成人在线视频| 久久国产精品露脸对白|