問題タブ [demoscene]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .NET のアニメーション効果?
単純な画像アニメーションを使用した C# オープン ソースの実装を教えてください。
たとえば、入力画像をアニメーターにフィードすると、アニメーション コードが数十個の画像を生成します。これらの画像を順次表示すると、アニメーションのように見えます。
私は極端に凝ったものではありません - アニメーションのような単純な DirectX フィルターで十分です。
demoscene - 4K デモコーディングの非常識な技術を学ぶにはどうすればよいですか?
デモシーン、特に小さな 4K exefile が大好きです。Windows に既に存在するファイルを除いて依存関係はなく、3D グラフィックス + サウンド、すべて 4K で、プログラミングの驚異的なパワーを発揮します。
これはどのように可能ですか?彼らが使用している言語は何ですか? 取引ツール、ベスト プラクティス、重要なウェブサイトとは?
language-agnostic - デモ (FX) コーディング チュートリアル?
デモ コーディングを始めるための優れたチュートリアルをいくつか探しています。私はCGのバックグラウンドを持っていますが、それはすべてかなり理論的なものです.
通常の 3D プログラミングのチュートリアルはたくさんありますが、特に古い学校の 2D のものを探しています。
c++ - ランタイム ライブラリなしで VC++ 組み込み関数を使用する方法
私は、可能な限り最小のバイナリを生成しようとする課題の 1 つに関与しているため、C または C++ ランタイム ライブラリ (RTL)を使用せずにプログラムをビルドしています。DLL バージョンまたは静的バージョンにはリンクしません。#include
ヘッダーファイルさえありません。私はこれでうまくいきました。
などの一部の RTL 関数はmemset()
便利なので、独自の実装を追加してみました。デバッグ ビルドでは正常に動作します (コンパイラが への暗黙的な呼び出しを生成する場所でもmemset()
)。しかし、リリース ビルドでは、組み込み関数を定義できないというエラーが表示されます。リリース ビルドでは、組み込み関数が有効になっておりmemset()
、組み込み関数です。
組み込みの for をリリース ビルドで使用したいと考えてmemset()
います。これはおそらくインライン化されており、私の実装よりも小さくて高速だからです。しかし、私はキャッチ22のようです。を定義しないmemset()
と、リンカーはそれが未定義であると不平を言います。定義すると、コンパイラは、組み込み関数を定義できないと文句を言います。
#pragma
RTL オーバーヘッドを引き込まずに組み込み関数を取得するための定義、宣言、およびコンパイラとリンカー フラグの正しい組み合わせを知っている人はいますか?
Visual Studio 2008、x86、Windows XP+。
問題をもう少し具体的にするには:
そして、私は次のように構築します:
の実装でコンパイルすると、コンパイルmemset()
エラーが発生します。
の実装なしでこれをコンパイルするとmemset()
、リンカ エラーが発生します。
delphi - kkrunchy-Delphi実行可能ファイルのtlsデータを取り除く方法は?
楽しみと笑いのためだけに、デルファイで64kのイントロを作成しようとしています。このサイズのアプリケーションに最適な実行可能パッカーの1つは、Farbrauschによるkkrunchyです。ただし、(それ以外の場合は空の)Delphi実行可能ファイルで実行すると、次の出力が得られます。
Delphiの実行可能ファイルの両方が原因である可能性があると推測しています。どちらが原因であるかを把握し、実行可能ファイルなどを変更した後、汗をかいて時間を費やしても問題はありません。この問題を回避する方法を知っている、またはいくつかの情報さえありますか?
linux - Ubuntu10.04 の ELFkickers から sstrip をコンパイルする: asm/elf.h の問題
Linuxで小さな実行可能ファイルを作成して遊んでいます。ELFkickers コレクション ( http://www.muppetlabs.com/~breadbox/software/elfkickers.html )の sstrip という名前の Muppetlabs.com の以前に使用されていたツールに注目しました。 1人。そして、HardyHeron までは Ubuntu フィードにあったようですが、今では跡形もなくなくなっています。だから私は自分自身をコンパイルしようとしましたが、asm/elf.h ヘッダーは新しい位置にあるようで、gcc は次のように救済します:
これを修正する方法について何か提案はありますか?
または、PPA で sstrip を見つける場所を知っている人はいますか? 多分代替案?
3d - 64kB デモ、どのように機能しますか?
非常に詳細な 3D シーンをサウンドトラックで表示するプログラムをいくつか見たことがありますが、私が驚いたのは、それらがすべて 64kB よりも小さいことです。これらのプログラムはどのように機能しますか?
3d - グラフィックと音楽のデモを 64kb EXE に収めることができる言語または方法は?
コンパイルされた64kbのexe ファイルで、これらのプログラムが、一致する音楽を備えたクレイジーなビジュアルを生成できるのはどうしてでしょうか?
例: Ars Nova By Phantom Lord (デモ実行中の YouTube ビデオ)
このプログラムのサイズはわずか64kbです。彼らはどうやってそれをしたのですか?
彼らは、DirectX 内で何らかの既存のオブジェクト、シェーダーなどを使用していますか?
彼らはどんな言語を使用していますか? このようなものへのある種のガイドはありますか?
編集: 別の驚異的なデモ。どのように?
http://www.scene.org/file.php?file=/demos/groups/farb-rausch/fr08_final.zip&fileinfo
編集: より多くのデモシーンのもの。
このようなものを作っているグループへのリンクをいくつか見つけました.werkkzeug1という名前の製品といくつかの圧縮およびオーディオツールをリリースしましたが、それがどのように可能かはまだわかりません. 彼らは96kbでゲームを作った.
3d - リアルタイムレイトレーシング-Sult(Loonies、4k Intro)
Sult(リンク:http ://www.youtube.com/watch?v = FWmv1ykGzis)の効果がどのように達成されたか知りたいのですが。このイントロがリアルタイムレイトレーシングを行うことはどのように可能ですか?
graphics - 昔のゲームの「横スクロールハック」とは?
古いアーケードの横スクロール ゲームでは、パフォーマンスの高い横スクロールを可能にするために特定のプログラミング ハックが使用されていると聞いたことがあります。
何年も前のマシンは、現在のようにフレームごとに画面全体を再描画するのに十分なほど強力ではなかったことを理解しています. 背景が静止していてスプライトのみが移動する場合に再描画に必要な画面領域を最小限に抑えることができるダーティ レクタングルなどの手法があります。
上記のアプローチは、背景が変化しない場合にのみ機能します (したがって、ほとんどの画面ピクセルは静止したままです)。
古い学校のシューティング ゲームのような垂直スクロール ゲームでは、スクロールによってフレームごとに背景が変化するため、少し難しくなります。ただし、ピクセルがディスプレイに (ラインごとに) 供給される方法を利用することもできます。より大きなバッファを使用して、データポインタをフレームごとに数行「下」にシフトして、別の位置から再描画されるようにすることで、スムーズなスクロールの印象を与えることができると思います。それでもスプライト (および画面の端にある背景の一部) のみを再描画する必要がありますが、これは深刻な最適化です。
ただし、横スクロール ゲームの場合は、それほど単純ではありません。それでも、過去のどこかで、古いマシンがフレームごとに再描画せずに背景を水平にスクロールできるようにする最適化を (いくつかの制限付きで) 行ったことがあることを私は知っています。
IIRC 多くの古いゲーム、主に 80 年代の格闘ゲームやデモシーンの制作で使用されました。
この手法について説明し、作者の名前を教えてください。