• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

line rasterizer test


Commit MetaInfo

Revisionccdfa922c3ea27a9e6fe98f483f460648c7c0f95 (tree)
Time2011-02-06 21:53:27
Authorberu <berupon@gmai...>
Commiterberu

Log Message

revised

Change Summary

Incremental Difference

--- a/main_plus.h
+++ b/main_plus.h
@@ -24,27 +24,49 @@ gl::LineDrawer8_Nelson<float> lineDrawer_Nelson;
2424 void renderLines(gl::IBufferLineDrawer<float, uint8_t>& ld, float x)
2525 {
2626 ld.SetBuffer(&buff);
27- for (int i=0; i<20; ++i) {
28- ld.DrawLine(220, x, 10+i*20, x+100, 20+i*50);
27+ float offset = 0;
28+ for (int s=0; s<16; ++s) {
29+ int slide = s * 120;
30+ int ei = 25;
31+ for (int i=0; i<ei; ++i) {
32+ int y = 30 + 40 * i;
33+ ld.DrawLine(
34+ 220,
35+ x+slide, y,
36+ x+100+slide, y+offset
37+ );
38+
39+ TCHAR str[32];
40+ RECT rec;
41+ rec.left = x + slide;
42+ rec.right = rec.left + 100;
43+ rec.top = y - 20;
44+ rec.bottom = rec.top + 20;
45+ _stprintf(str, _T("%.1f"), offset);
46+ ::DrawText(hMemDC, str, -1, &rec, DT_LEFT);
47+ offset += 0.1;
48+ }
2949 }
3050 }
3151
3252 void render(UINT vk)
3353 {
54+ ::SetBkMode(hMemDC, TRANSPARENT);
55+ ::SetTextColor(hMemDC, RGB(255,255,255));
3456 gl::Buffer2D_Fill<uint8_t>(buff, 0);
3557 // buff.SetPixel(100, 220, 0xff);
3658 switch (vk) {
3759 case 'B':
38- renderLines(lineDrawer_Bresenham, 30);
60+ renderLines(lineDrawer_Bresenham, 10);
3961 break;
4062 case 'D':
41- renderLines(lineDrawer_DDA, 30);
63+ renderLines(lineDrawer_DDA, 10);
4264 break;
4365 case 'W':
44- renderLines(lineDrawer_Wu, 30);
66+ renderLines(lineDrawer_Wu, 10);
4567 break;
4668 case 'N':
47- renderLines(lineDrawer_Nelson, 30);
69+ renderLines(lineDrawer_Nelson, 10);
4870 }
4971 }
5072