タグ付けされた質問 「sdl」

Simple DirectMedia Layer(SDL)は、オーディオ、キーボード、マウス、ジョイスティック、OpenGLを介した3Dハードウェア、および2Dビデオフレームバッファへの低レベルアクセスを提供するように設計されたクロスプラットフォームマルチメディアライブラリです。

1
OpenGL:フレームが部分的に前後にジャンプする[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 2年前休業。 私はSDLとOpenGLでプロジェクトに取り組んでいます。このゲームは、Windows、Linux、OS X、iOSでうまく動作します。ただし、Android版は特に私の電話で問題を示しています。私は別のデバイスをテストしましたが、そこでもうまく機能します。 私が直面している問題は視覚的な不具合です。これはバーストで発生します。たとえば、90フレームは問題なく、40フレームはグリッチです。グリッチ自体は説明するのが難しいですが、私は試してみます。画面が部分的に正しく更新され(携帯電話の上部から約半分まで)、部分的にちらつきます。ちらつき効果は、ある種の前後のジャンプです。ダブルバッファリングに関係していると思います。画面に表示されるのは、フレームごとに前後にジャンプするためです。画面の半分が時間的に1フレーム、次のフレームが2フレーム遅れているようです。エヒタナハの行列のように、私はあなたが言うことができると思います。チャートを下っていくときに時間が経過するチャートにプロットすると、 left half | right half (phone is in landscape) ------------------------ time 1 | 1 1 time 2 | 2 2 time 3 | 3 1 time 4 | 4 4 time 5 | 5 3 time 6 | 6 6 time 7 | …

3
OpenGLを使用してSDLで2D画像を描画する方法
結局のところ、openGLで2D画像を描画する方法を示す簡単なコードを見つけることができました。 #include "SDL/SDL.h" #include "SDL/SDL_opengl.h" #include "SDL/SDL_image.h" const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480; const int SCREEN_BPP = 32; int tex; int loadTexture(char* fileName){ SDL_Surface *image=IMG_Load(fileName); SDL_DisplayFormatAlpha(image); GLuint object; glGenTextures(1,&object); glBindTexture(GL_TEXTURE_2D,object); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP_TO_EDGE); glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,image->w,image ->h,0,GL_RGBA,GL_UNSIGNED_BYTE,image->pixels); SDL_FreeSurface(image); return object; } void init(){ glClearColor(0.0,0.0,0.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0,800,600,1.0,-1.0,1.0); …
8 c++  opengl  sdl  windows 

1
OpenGLを備えたSDL2 —奇妙な結果、何が問題なのですか?
アプリをiOSに移植しているため、SDL1.2からSDL2にアップグレードする必要があります(これまでのところ、OS Xデスクトップアプリとしてのみテストしています)。ただし、SDL2でコードを実行すると、下の2番目の画像に示すように、奇妙な結果が得られます(最初の画像は、SDLを使用した場合の外観です)。これを引き起こす単一のチェンジセットはこれです、そこに明らかに問題があると思いますか、それともSDL2には知らないOpenGLのニュアンスがありますか?私のSDLはHGの最新のものに基づいています。 更新: 同じプロジェクトのiOSポートに関する別の質問がここにあります。 更新2:これもSDLニュースグループにあります:http : //thread.gmane.org/gmane.comp.lib.sdl/58026 更新3:ポータブルOpenGLにRegalを使用してみましたが、3番目のスクリーンショットはそれほど良くない結果です。 #include <OpenGL/gl.h> #include <OpenGL/glu.h> と #include "GL/Regal.h" #include "GL/RegalGLU.h"
8 opengl  sdl  macos  porting 

2
2Dタイルマップのカスタム拡張ファイル形式
現在、ゲームロジックの多くを実装していますが、何かを操作できるように、オンザフライで厄介なforループを使用してマップを作成しています。次に進んで、このデータを(非)シリアル化する方法についていくつかの調査を行いたいと思いました。(私はマップエディターを検索しません-私はマップファイル自体について話しています) 現時点では、提案とリソース、次の機能を提供する(MoSCoWメソッドに基づく)マップにカスタムファイル形式を実装する方法を探しています。 持つ必要があります 拡張性と下位互換性 異なるレイヤーの処理 タイルが固体であるか通過できるかに関するメタデータ 関連するプロパティ/メタデータを持つエンティティ/トリガーの特別なシリアル化 持つことができた ファイル/タイルセットが散らばらないようにするためのタイルセットのある種の包含 C ++(SDLを使用)で開発しており、Windowsのみをターゲットにしています。役立つヘルプ、ヒント、提案などがあれば、よろしくお願いします! 以下の議論の結果 私は過去数時間にマップファイル形式を設計していて、スケルトン(今のところレイヤーのみが含まれている-残りは彼/彼女の独自の形式を設計しているすべての人に任せる)を考えた。同じ意図があり、何らかのインスピレーションを得ることができます。フルサイズのスクリーンショットはImgurからダウンロードできます。

1
LinuxのSDLでOpenGLハードウェアアクセラレーションを取得する
SDL + OpenGLを使用しようとしていますが、約18000ポリゴンのフレームレートはクアッドコアマシンでは約24fpsですが、Intel Atomでは希望しない1-2fpsであるため、ハードウェアアクセラレーションが機能しているとは思いません。ポリゴン数がこれを超えると、クアッドコアでさえ苦労し始めます。 私は自分のコードをチェックしましたが、明らかな何かが欠けています。SDL OpenGLテストと同じコードを使用するようにSDL初期化コードを変更しました。SDL_GL_ACCELERATED_VISUALは1ですが、SDL_VideoInfoのhw_availableは0であると報告されています また、両方のマシンのNvidiaとCompizやglxgearsなどの高速化されたアプリが正常に動作するため、ベンダーは正しく報告されます。 何を試すかについてのアイデアはありますか? ありがとう
8 opengl  c++  sdl  linux 


1
時間ベースの動き対フレームレートベースの動き?
私はゲームプログラミングとSDLが初めてで、LazyfooのSDLチュートリアルに従っています。私の質問は基本的にされて、時間ベースのモーションやフレームレートベースの動きに関連して、より良いか、適切な状況に応じて、?。これらの各メソッドが使用される例を教えていただけますか? 私が持っているもう1つの質問は、lazyfooの2つのモーションチュートリアル(FPSベースと時間ベース)で、時間ベースの方法がはるかにスムーズなアニメーションを示していたのに対し、フレームレートベースの方法は少し問題があったということです。 2つのプログラムを比較したときのドットとその現在の位置。 初心者の場合、どの方法に固執する必要がありますか?(必要なのはスムーズなアニメーションだけです)。

1
ゲームクラスと主な機能
メインのゲーム機能と画面などのゲームオブジェクトのインスタンスを含むGameクラスがあります。私のゲームはC ++とSDLを使用して作成されています。 しかし、私はクラスの関数をメインにするべきだと思いましたか?それとも「ゲームゲーム」をやればいいの?「int main();」から そして、メインの中にループがありますか? 私の疑問は-外部メインからそれを行う場合、私のもののほとんどはパブリックでなければならないでしょう、そしてそれはちょっと悪いですよね? 何か案は?ありがとうございました!
8 c++  sdl 

4
2Dプラットフォーマーの衝突処理
2Dプラットフォーマー(マリオタイプ)ゲームを作成しようとしていますが、衝突の適切な処理に問題があります。私はこのゲームをC ++で書いており、入力、画像の読み込み、フォントの読み込みなどにSDLを使用しています。また、グラフィックを表示するためにSDLと組み合わせてFreeGLUTライブラリを介してOpenGLを使用しています。 私の衝突検出方法は、AABB(Axis-Aligned Bounding Box)です。必要なのは、衝突が発生した側を検出し、衝突を適切に処理する簡単な方法です。したがって、基本的に、プレーヤーがプラットフォームの上部に衝突した場合は、プレーヤーを上部に移動します。側面に衝突がある場合は、プレーヤーをオブジェクトの側面に戻します。底に衝突がある場合は、プラットフォームの下にプレーヤーを再配置してください。 私が試してみました多く、このような浸透深さを見つけようと侵入深さによって後方プレーヤーを再配置するようにこれを行うためのさまざまな方法を、。残念ながら、私が試したことは何も正しく動作していないようです。プレイヤーの動きが非常にグリッチになり、望まないときにプレイヤーの位置を変えます。その理由の1つは、おそらくこれはとても単純なものだと思っているためですが、考えすぎています。 誰かが彼らが助けることができると思っている場合は、以下のコードを見て、可能であればこれを改善するのを助けてください。これを処理するためにライブラリを使用しないでください(自分で学びたいので)、または可能であればSAT(分離軸定理)のようなものを使用しません。よろしくお願いします! void world1Level1CollisionDetection() { for(int i; i < blocks; i++) { if (de2dCheckCollision(ball,block[i],0.0f,0.0f)==true) { de2dObj ballPrev; ballPrev.coords[0] = ball.coords[0]; ballPrev.coords[1] = ball.coords[1]; ballPrev.coords[2] = ball.coords[2]; ballPrev.coords[3] = ball.coords[3]; ballPrev.coords[0] -= ball.xspeed; ballPrev.coords[1] -= ball.yspeed; ballPrev.coords[2] -= ball.xspeed; ballPrev.coords[3] -= ball.yspeed; int up = 0; …

2
LibRocketをSDLおよびOpenGLと統合する
私は現在ゲームプロジェクトに携わっており、メニューやその他のGUIを追加したいところまで到達しましたが、独自のシステムの開発に費やした時間は少し時間がかかる可能性があり、これはその一部です時間を無駄にしたくないシステムの。 したがって、GUIchan、CEGUI、最近のLibRocketなど、非常に柔軟で便利なUIライブラリについて読んでいます。私の質問は、LibrocketをC ++のSDL / OpenGLで開発されたプロジェクトと統合できるかどうかです。そのような情報を見つけることができないため、その情報がどこにあるかを知っている場合。
7 c++  opengl  sdl 

4
C ++のWavefront * .objローダー
OpenGL(SDL経由)とC ++(Visual Studios 2010 Professional経由)を使用してゲームを作成しています。ゲーム中は3Dキャラクターアニメーションを使用します。すべての3Dモデル(地形を除く)にwavefront * .objファイルを使用したいと思います。キャラクターは、250〜500フレーム(歩行、ランニング、全力疾走、ジャンプ、しゃがみ、這うなど)で、滑らかな動き(リアル)を持っている必要があります。md2またはmd3を使用したいのですが、使用する3Dモデリング/アニメーションツール(Blender 3D 2.57)はどちらもサポートしていません。ゲームはWindowsでのみ実行されます。 私が必要としているのは、アニメーションをサポートする小さくてパワフルな* .objローダーとパーサーです。C ++で記述され、SDLで使用できる必要があります。 ありがとう Blenderがエクスポートできるすべてのファイル形式を確認した後...デフォルトのキューブをエクスポートすると、最小のファイル形式が生成されるため、3DSを使用することにしました。3DSを推奨してくれて@Danielに感謝!
7 c++  opengl  animation  sdl 

5
グラフィックモジュール:私は正しい方向に進んでいますか?
エンジンのグラフィックスモジュールを記述しようとしています。つまり、コードのこの部分は、画像、フォントなどをロードして画面に描画するためのインターフェースのみを提供します。また、私が使用しているライブラリ(この場合はSDL)のラッパーでもあります。 これがImage、FontとGraphicsRendererクラスのインターフェースです。私が正しい方向に進んでいるかどうか教えてください。 画像 class Image { public: Image(); Image(const Image& other); Image(const char* file); ~Image(); bool load(const char* file); void free(); bool isLoaded() const; Image& operator=(const Image& other); private: friend class GraphicsRenderer; void* data_; }; フォント class Font { public: Font(); Font(const Font& other); Font(const char* file, int ptsize); ~Font(); …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.