Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
空白の変更を非表示
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
テキストスタイル
外観を変更
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
Untitled diff
作成日
7 年前
差分は期限切れになりません
クリア
エクスポート
共有
説明
16 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
88 行
すべてコピー
16 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
88 行
すべてコピー
#version 450
#version 450
#define WIDTH 800
#define WIDTH 800
#define HEIGHT 600
#define HEIGHT 600
#define WORKGROUP_SIZE 32
#define WORKGROUP_SIZE 32
layout (local_size_x = WORKGROUP_SIZE, local_size_y = WORKGROUP_SIZE, local_size_z = 1) in;
layout (local_size_x = WORKGROUP_SIZE, local_size_y = WORKGROUP_SIZE, local_size_z = 1) in;
layout(binding = 0) readonly buffer buf1 {
layout(binding = 0) readonly buffer buf1 {
コピー
コピー済み
コピー
コピー済み
int data
[WIDTH]
[HEIGHT]
;
int data
[HEIGHT]
[WIDTH]
;
} previousBoard;
} previousBoard;
layout(binding = 1) buffer buf2 {
layout(binding = 1) buffer buf2 {
コピー
コピー済み
コピー
コピー済み
int data
[WIDTH]
[HEIGHT]
;
int data
[HEIGHT]
[WIDTH]
;
} nextBoard;
} nextBoard;
void main() {
void main() {
int x = int(gl_GlobalInvocationID.x);
int x = int(gl_GlobalInvocationID.x);
int y = int(gl_GlobalInvocationID.y);
int y = int(gl_GlobalInvocationID.y);
if(x >= WIDTH || y >= HEIGHT)
if(x >= WIDTH || y >= HEIGHT)
return;
return;
uint countNeighboors = 0;
uint countNeighboors = 0;
if (y > 0)
if (y > 0)
{
{
if (x > 0)
if (x > 0)
{
{
// x - 1 ; y - 1
// x - 1 ; y - 1
コピー
コピー済み
コピー
コピー済み
countNeighboors += previousBoard.data[
x
- 1][
y
- 1];
countNeighboors += previousBoard.data[
y
- 1][
x
- 1];
}
}
// x ; y - 1
// x ; y - 1
コピー
コピー済み
コピー
コピー済み
countNeighboors += previousBoard.data
[x]
[y - 1]
;
countNeighboors += previousBoard.data
[y - 1]
[x]
;
if(x < 799)
if(x < 799)
{
{
// x + 1 ; y - 1
// x + 1 ; y - 1
コピー
コピー済み
コピー
コピー済み
countNeighboors += previousBoard.data
[x + 1]
[y - 1]
;
countNeighboors += previousBoard.data
[y - 1]
[x + 1]
;
}
}
}
}
if (x > 0)
if (x > 0)
{
{
// x - 1 ; y
// x - 1 ; y
コピー
コピー済み
コピー
コピー済み
countNeighboors += previousBoard.data
[x - 1]
[y]
;
countNeighboors += previousBoard.data
[y]
[x - 1]
;
}
}
if(x < 799)
if(x < 799)
{
{
// x + 1 ; y
// x + 1 ; y
コピー
コピー済み
コピー
コピー済み
countNeighboors += previousBoard.data
[x + 1]
[y]
;
countNeighboors += previousBoard.data
[y]
[x + 1]
;
}
}
if (y < 599)
if (y < 599)
{
{
if (x > 0)
if (x > 0)
{
{
// x - 1 ; y + 1
// x - 1 ; y + 1
コピー
コピー済み
コピー
コピー済み
countNeighboors += previousBoard.data
[x - 1]
[y + 1]
;
countNeighboors += previousBoard.data
[y + 1]
[x - 1]
;
}
}
// x ; y + 1
// x ; y + 1
コピー
コピー済み
コピー
コピー済み
countNeighboors += previousBoard.data
[x]
[y + 1]
;
countNeighboors += previousBoard.data
[y + 1]
[x]
;
if(x < 799)
if(x < 799)
{
{
// x + 1 ; y + 1
// x + 1 ; y + 1
コピー
コピー済み
コピー
コピー済み
countNeighboors += previousBoard.data[
x
+ 1][
y
+ 1];
countNeighboors += previousBoard.data[
y
+ 1][
x
+ 1];
}
}
}
}
if(countNeighboors == 3)
if(countNeighboors == 3)
{
{
コピー
コピー済み
コピー
コピー済み
nextBoard.data[
x][y
] = 1;
nextBoard.data[
y][x
] = 1;
}
}
else if (countNeighboors == 2)
else if (countNeighboors == 2)
{
{
コピー
コピー済み
コピー
コピー済み
nextBoard.data[
x][y
] = previousBoard.data[
x][y
];
nextBoard.data[
y][x
] = previousBoard.data[
y][x
];
}
}
else
else
{
{
コピー
コピー済み
コピー
コピー済み
nextBoard.data[
x][y
] = 0;
nextBoard.data[
y][x
] = 0;
}
}
}
}
保存された差分
原文
ファイルを開く
#version 450 #define WIDTH 800 #define HEIGHT 600 #define WORKGROUP_SIZE 32 layout (local_size_x = WORKGROUP_SIZE, local_size_y = WORKGROUP_SIZE, local_size_z = 1) in; layout(binding = 0) readonly buffer buf1 { int data[WIDTH][HEIGHT]; } previousBoard; layout(binding = 1) buffer buf2 { int data[WIDTH][HEIGHT]; } nextBoard; void main() { int x = int(gl_GlobalInvocationID.x); int y = int(gl_GlobalInvocationID.y); if(x >= WIDTH || y >= HEIGHT) return; uint countNeighboors = 0; if (y > 0) { if (x > 0) { // x - 1 ; y - 1 countNeighboors += previousBoard.data[x - 1][y - 1]; } // x ; y - 1 countNeighboors += previousBoard.data[x][y - 1]; if(x < 799) { // x + 1 ; y - 1 countNeighboors += previousBoard.data[x + 1][y - 1]; } } if (x > 0) { // x - 1 ; y countNeighboors += previousBoard.data[x - 1][y]; } if(x < 799) { // x + 1 ; y countNeighboors += previousBoard.data[x + 1][y]; } if (y < 599) { if (x > 0) { // x - 1 ; y + 1 countNeighboors += previousBoard.data[x - 1][y + 1]; } // x ; y + 1 countNeighboors += previousBoard.data[x][y + 1]; if(x < 799) { // x + 1 ; y + 1 countNeighboors += previousBoard.data[x + 1][y + 1]; } } if(countNeighboors == 3) { nextBoard.data[x][y] = 1; } else if (countNeighboors == 2) { nextBoard.data[x][y] = previousBoard.data[x][y]; } else { nextBoard.data[x][y] = 0; } }
変更されたテキスト
ファイルを開く
#version 450 #define WIDTH 800 #define HEIGHT 600 #define WORKGROUP_SIZE 32 layout (local_size_x = WORKGROUP_SIZE, local_size_y = WORKGROUP_SIZE, local_size_z = 1) in; layout(binding = 0) readonly buffer buf1 { int data[HEIGHT][WIDTH]; } previousBoard; layout(binding = 1) buffer buf2 { int data[HEIGHT][WIDTH]; } nextBoard; void main() { int x = int(gl_GlobalInvocationID.x); int y = int(gl_GlobalInvocationID.y); if(x >= WIDTH || y >= HEIGHT) return; uint countNeighboors = 0; if (y > 0) { if (x > 0) { // x - 1 ; y - 1 countNeighboors += previousBoard.data[y - 1][x - 1]; } // x ; y - 1 countNeighboors += previousBoard.data[y - 1][x]; if(x < 799) { // x + 1 ; y - 1 countNeighboors += previousBoard.data[y - 1][x + 1]; } } if (x > 0) { // x - 1 ; y countNeighboors += previousBoard.data[y][x - 1]; } if(x < 799) { // x + 1 ; y countNeighboors += previousBoard.data[y][x + 1]; } if (y < 599) { if (x > 0) { // x - 1 ; y + 1 countNeighboors += previousBoard.data[y + 1][x - 1]; } // x ; y + 1 countNeighboors += previousBoard.data[y + 1][x]; if(x < 799) { // x + 1 ; y + 1 countNeighboors += previousBoard.data[y + 1][x + 1]; } } if(countNeighboors == 3) { nextBoard.data[y][x] = 1; } else if (countNeighboors == 2) { nextBoard.data[y][x] = previousBoard.data[y][x]; } else { nextBoard.data[y][x] = 0; } }
違いを見つける