検索結果 11 件

by いろは
5年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]zlibを用いたpngの解凍と読み込み
返信数: 7
閲覧数: 9349

Re: [C++]zlibを用いたpngの解凍と読み込み

 みけCATさんの指摘した点について。  一応"comp_size"はこの分のメモリ確保した直後に0を代入しているのでメモリ範囲外の書き込みについては大丈夫だと思います。でもやはり、変数の使いまわしはどうも汚い感じがしますので改善したいと思います。  あと、指摘で気づきましたが、"iml::copy_order"という関数は私自身が作って使っているライブラリの関数で、イテレータ範囲やサイズ指定の配列を順オーダーで代入するといったもので、ソースは以下のようになります。 //配列のコピー(順) template <class OutputIterator, class InputIterator>...
by いろは
5年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]zlibを用いたpngの解凍と読み込み
返信数: 7
閲覧数: 9349

Re: [C++]zlibを用いたpngの解凍と読み込み

 すみません、どうやらzlibでやる圧縮方法を勘違いしていたみたいです。とりあえず、勘違いしていた部分が以下のコードです。 namespace zlib { //zlib形式のデコード auto decode(const unsigned char* binary, size_t byte) { //圧縮方式がdeflateであることのチェック if ((binary[0] & 0x0F) != 0x08) throw std::runtime_error("deflate以外無理"); //スライド窓サイズ(256(2^8) ~ 32768(2^15)) const unsigned int...
by いろは
5年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]zlibを用いたpngの解凍と読み込み
返信数: 7
閲覧数: 9349

[C++]zlibを用いたpngの解凍と読み込み

 こんにちは。後学のためにC++で必要最低限の要素でpngを読み込むことを考えています。  イメージデータの圧縮部をを自作の関数で解凍することはでき、pngを読み込むことができたのですが、やはり速度が遅いのでzlibを用いて解凍をしようと考えています。  そこで質問なのですが、何故かzlibの解凍をする関数を用いてもデータがおかしいとのエラーが出るだけで解凍ができません。自作の関数ではできたので、これはおかしいと思い質問させていただきました。 //ここまでチャンクデータの読み込み //comp_size:圧縮データのサイズ //comp_img:圧縮データ配列 //出力データ分のメモリの確保 ...
by いろは
6年前
フォーラム: C言語何でも質問掲示板
トピック: [C++&OpenGL]頂点配列と頂点インデックスの併用によるテクスチャの描画について
返信数: 0
閲覧数: 9455

[C++&OpenGL]頂点配列と頂点インデックスの併用によるテクスチャの描画について

C++とOpenGL(freeglut)を用いて3Dモデルを描画し、アニメーション等の制御を考えています。 私自身の従来の方法では、glVertexPointer()やglTexCoordPointer()を用いて頂点座標配列とテクスチャ座標配列の頂点配列を定義してから、glDrawArrays()を用いてポリゴンとそれに追従するテクスチャを描画してきましたが、毎フレームごとの頂点変形処理を考えると少し負荷が大きいと思います。 そこで、glDrawElements()を用いて頂点インデックスで描画をすることを考え、ポリゴンのみの描画時には実装に成功しました。 しかし、ポリゴンにテクスチャを張り...
by いろは
6年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]関数が存在しないときに他の関数を実行させる方法
返信数: 1
閲覧数: 3377

Re: [C++]関数が存在しないときに他の関数を実行させる方法

一応いい感じに動かすことができたので解決にします。 以下は実装とサンプルコードです。 #include <iostream> #include <type_traits> //関数が定義されているかの判定 #define IS_DEFINED_FUNCTION(Function, Name)\ struct is_defined_function_##Name {\ template <class __Type>\ static auto tester(__Type) -> decltype(static_cast<decltype(Function)*>(&Function), std::t...
by いろは
6年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]関数が存在しないときに他の関数を実行させる方法
返信数: 1
閲覧数: 3377

[C++]関数が存在しないときに他の関数を実行させる方法

こんばんは。 C++で関数が存在するしているときはその関数を実行し、存在しないときは他の関数を実行できるようにするという処理を考えています。現在は以下のようなコードを用いて処理を分岐させています。 #include <iostream> #include <type_traits> //テスト関数 //void function1() { std::cout << "check function1." << std::endl; } void function2() { std::cout << "check function2." << std::endl; } //Function1が存在...
by いろは
7年前
フォーラム: C言語何でも質問掲示板
トピック: 誤差について
返信数: 3
閲覧数: 2750

誤差について

最近C++で数値解析をしてみようと思い、一先ず数学関数を自作してみようとしました。 三角関数等はかなりいい精度が取れるのですが、指数関数では誤差が発生し精度があまりよくありません。 一応べき級数と極限の2つの場合で計算しているのですが、極限での実装は流石に避けたいです。 これ以上どう精度に対してどう対策をすればいいか、また、他の計算方法があれば教えてください。 #include <cmath> #include <stdio.h> //打切り誤差 #define MATHLIB_EPSILON 1e-15 namespace Math { double exp1(double x) { dou...
by いろは
7年前
フォーラム: C言語何でも質問掲示板
トピック: RPGでたまに見かける戦闘ログのようなものを作りたいのですが...
返信数: 2
閲覧数: 2016

Re: RPGでたまに見かける戦闘ログのようなものを作りたいのですが...

アドバイスありがとうございます。
無事、理想通りに動かすことができました。
もう少しゲーム全体のクラスを見直した方がいいですね....
by いろは
7年前
フォーラム: C言語何でも質問掲示板
トピック: RPGでたまに見かける戦闘ログのようなものを作りたいのですが...
返信数: 2
閲覧数: 2016

RPGでたまに見かける戦闘ログのようなものを作りたいのですが...

件名通りで、RPGでたまに見かける戦闘ログやシステムログのようなものを作ってみようかと思い、DXライブラリで作ってみているのですがなかなか上手くいきません。 理想としては、下から最新のログを表示させていき上の方は古いログという感じです。また、ゲーム本体では十字キーでスクロールできるように考えていますので50行分のログデータを保持させています。 イメージとしては「elona」というゲームのログウィンドウに近い感じです。 下のコードは最低限の機能をピックアップした、数字のキー入力に対するログの発生とスペースキーによるログの表示量の変更です。 どう直せばよいかわからなくなってしまったので、間違ってい...
by いろは
7年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の参照の他の方法
返信数: 1
閲覧数: 1292

Re: 文字列の参照の他の方法

すみませんが、自力で解決できました。
考えてくださった方、ありがとうございます。
by いろは
7年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の参照の他の方法
返信数: 1
閲覧数: 1292

文字列の参照の他の方法

初めまして。今、「boost spirit」を用いて簡単なスクリプト言語の作成に挑戦しており、とりあえずコンソールで実験しています。 数式や定数に関しては基本的に「operator」で参照して実行できています。文字列に関しても「operator」で参照できるので、「put()」を再現してみようと試してみたのですが、「operator」の文字列の参照の仕方では下のソースの二重斜線の部分が二項演算子としてコンパイルされてしまいエラーが出てしまいます。 // test1.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #inc...

詳細検索ページへ移動する